Tiosoul V1

Tô aprendendo algumas coisas no visual não julguem kkkkkkkk, O script tá bom em rpzd e eu uso ele

  1. // ==UserScript==
  2. // @name Tiosoul V1
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Tô aprendendo algumas coisas no visual não julguem kkkkkkkk, O script tá bom em rpzd e eu uso ele
  6. // @author ! Tiosoul`rltk#1180
  7. // @match http://bloble.io/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=bloble.io
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. //antikick//
  13. function antikick() {setInterval(function(){if(window.socket){window.socket.emit("2",window.camX,window.camY)}},20000)}antikick();
  14. //skin//
  15. enterGame = function() {
  16. socket && unitList && (showMainMenuText(randomLoadingTexts[UTILS.randInt(0, randomLoadingTexts.length - 1)]),
  17. hasStorage && localStorage.setItem("lstnmdbl", userNameInput.value),
  18. mainCanvas.focus(),
  19. grecaptcha.execute("6Ldh8e0UAAAAAFOKBv25wQ87F3EKvBzyasSbqxCE").then(function(a) {
  20. baseATK()
  21. socket.emit("spawn", {
  22. name: userNameInput.value,
  23. skin: 24
  24. }, a)}))}
  25. //tropjooin//
  26. var joinEnabled = true
  27. addEventListener("keydown", function(a){
  28. if(a.keyCode == 226){
  29. joinEnabled = !joinEnabled
  30. }
  31. })
  32. // Thema //
  33. window.renderPlayer = function(a, d, c, b, g) {b.save();if (a.skin && 0 < a.skin && a.skin <= playerSkins && !skinSprites[a.skin]) {var e = new Image;e.onload = function() {this.readyToDraw = !0;this.onload = null;g == currentSkin && changeSkin(0);};e.src = ".././img/skins/skin_" + (a.skin - 1) + ".png";skinSprites[a.skin] = e;};a.skin && skinSprites[a.skin] && skinSprites[a.skin].readyToDraw ? (e = a.size - b.lineWidth / 4, b.lineWidth /= 2, renderCircle(d, c, a.size, b, !1, !0)) : g || (b.fillStyle = "rgba(255, 255, 255, 0)", renderCircle(d, c, a.size, b)); b.restore();};
  34. function theme(){
  35. darkColor = "#6A5ACD",
  36. backgroundColor = "#000000",
  37. outerColor = "#0A0111",
  38. indicatorColor = " #8B008B",
  39. turretColor = "#00000090",
  40. bulletColor = "#A8A8A8",
  41. redColor = "#3F47BA",
  42. targetColor = "#b4b4b4",
  43. playerColors = "#f9ff6060 #ff606060 #82ff6060 #607eff60 #60eaff60 #ff60ee60 #e360ff60 #ffaf6060 #a3ff6060 #ff609c60 #60ff8260 #cc60ff60 #c6595960 #404b7f60 #f2d95760 #c5525260 #c5525260 #498e5660 #c4515160 #c3545460 #c8575760 #c8595960 #5b74b660 #cd686860 #5c81bd60 #5bb14660 #d8c96360 #c5525260 #404b7f60 #c5525260 #c5525260 #c5525260 #c5525260 #404b7f60 #498e5660 #498e5660 #dbd24560 #ca514e60 #43427e60".split(" ");
  44. }
  45. theme();
  46. // autobase //
  47. function baseATK(){
  48. setTimeout(function(){ gens();},1000);setTimeout(function(){ gens();},10000);setTimeout(function(){ gens();},20000);setTimeout(function(){ gens();},30000);setTimeout(function(){ gens();},50000);setTimeout(function(){ walls();},60000);setTimeout(function(){ walls();},63000);setTimeout(function(){ micro();},80000);setTimeout(function(){ micro();},95000);setTimeout(function(){ upgens();},100000);setTimeout(function(){ upgens();},130000);setTimeout(function(){ upgens();},155000);setTimeout(function(){ upgens();},160000);setTimeout(function(){ command();},170000);setTimeout(function(){ command();},180000);setTimeout(function(){ greatleadership();},185000);setTimeout(function(){ armory();},190000);setTimeout(function(){ barracks1();},195000);setTimeout(function(){ siege();},230000);setTimeout(function(){ siege();},234000);setTimeout(function(){ barracks2();},235000);setTimeout(function(){ barracks2();},240000);setTimeout(function(){ upbarracks();},250000);setTimeout(function(){ upbarracks();},255000);setTimeout(function(){ upbarracks();},260000);setTimeout(function(){ upbarracks();},270000);setTimeout(function(){ upbarracks();},280000);setTimeout(function(){ sellgens();},310000);setTimeout(function(){ base();},315000);setTimeout(function(){ sellsiege();},340000);setTimeout(function(){ barracks1();},341000);setTimeout(function(){ upbarracks();},342000);setTimeout(function(){ upbarracks();},345000);setTimeout(function(){ upbarracks();},350000);setTimeout(function() {selectsiege();}, 355000);setTimeout(function() {centralizer1();}, 365000);
  49. function gens(){
  50. socket.emit("1", 4.73, 245, 3);socket.emit("1", 5.0025, 245, 3);socket.emit("1", 5.275, 245, 3);socket.emit("1", 5.5475, 245, 3);socket.emit("1", 5.82, 245, 3);socket.emit("1", 6.0925, 245, 3);socket.emit("1", 6.365, 245, 3);socket.emit("1", 6.6375, 245, 3);socket.emit("1", 6.91, 245, 3);socket.emit("1", 7.1825, 245, 3);socket.emit("1", 7.455, 245, 3);socket.emit("1", 7.7275, 245, 3);socket.emit("1", 8.0025, 245, 3);socket.emit("1", 8.275, 245, 3);socket.emit("1", 8.5475, 245, 3);socket.emit("1", 8.82, 245, 3);socket.emit("1", 9.0925, 245, 3);socket.emit("1", 9.3675, 245, 3);socket.emit("1", 9.64, 245, 3);socket.emit("1", 9.9125, 245, 3);socket.emit("1", 10.1875, 245, 3);socket.emit("1", 10.4625, 245, 3);socket.emit("1", 10.7375, 245, 3);socket.emit("1", 5.999, 180, 3);socket.emit("1", 6.275, 130, 3);socket.emit("1", 6.51, 185, 3);socket.emit("1", 6.775, 130, 3);socket.emit("1", 7.05, 185, 3);socket.emit("1", 7.3, 130, 3);socket.emit("1", 8.4, 130, 3);socket.emit("1", 8.675, 185, 3);socket.emit("1", 8.925, 130, 3);socket.emit("1", 9.225, 185, 3);socket.emit("1", 9.5, 130, 3);socket.emit("1", 9.78, 185, 3);socket.emit("1", 10.05, 130, 3);socket.emit("1", 10.325, 185, 3);socket.emit("1", 10.6, 130, 3);socket.emit("1", 4.5889, 186.5, 3);socket.emit("1", 4.81, 130, 3);socket.emit("1", 5.085, 180.5, 3);socket.emit("1", 5.36, 130, 3);socket.emit("1", 5.64, 180, 3);socket.emit("1",-4.70,130,7)
  51. }
  52. function walls(){
  53. socket.emit("1",7.86,311,1);socket.emit("1",8.06,311,1);socket.emit("1",8.26,311,1);socket.emit("1",8.46,311,1);socket.emit("1",8.66,311,1);socket.emit("1",8.86,311,1);socket.emit("1",9.06,311,1);socket.emit("1",9.26,311,1);socket.emit("1",9.46,311,1);socket.emit("1",9.66,311,1);socket.emit("1",9.86,311,1);socket.emit("1",10.28,311,1);socket.emit("1",10.70,311,1);socket.emit("1",10.90,311,1);socket.emit("1",11.10,311,1);socket.emit("1",11.30,311,1);socket.emit("1",11.72,311,1);socket.emit("1",12.14,311,1);socket.emit("1",12.34,311,1);socket.emit("1",12.54,311,1);socket.emit("1",12.74,311,1);socket.emit("1",12.94,311,1);socket.emit("1",13.14,311,1);socket.emit("1",13.34,311,1);socket.emit("1",13.54,311,1);socket.emit("1",13.74,311,1);socket.emit("1",13.94,311,1);
  54. }
  55. function base(){
  56. socket.emit("1", 1.71, 245.85, 4),socket.emit("1", 1.46, 245.85, 4),socket.emit("1", 1.96, 245.85, 4),socket.emit("1", 1.21, 245.85, 4),socket.emit("1", 2.21, 245.85, 4),socket.emit("1", 0.96, 245.85, 4),socket.emit("1", 2.46, 245.85, 4),socket.emit("1", 0.71, 245.85, 4),socket.emit("1", 0.46, 245.85, 4),socket.emit("1", 2.71, 245.85, 4),socket.emit("1", 2.96, 245.85, 4),socket.emit("1", 0.21, 245.85, 4),socket.emit("1", -3.07, 245.85, 4),socket.emit("1", -0.04, 245.85, 4),socket.emit("1", -0.29, 245.85, 4),socket.emit("1", -2.82, 245.85, 4),socket.emit("1", -2.57, 245.85, 4),socket.emit("1", -0.54, 245.85, 4),socket.emit("1", -2.32, 245.85, 4),socket.emit("1", -0.79, 245.85, 4),socket.emit("1", -2.07, 245.85, 4),socket.emit("1", -1.04, 245.85, 4),socket.emit("1", -1.82, 245.85, 4),socket.emit("1", -1.29, 245.85, 4),socket.emit("1",4.7280,245,4),socket.emit("1", 2.58, 190.7, 4),socket.emit("1", 0.59, 190.45, 4),socket.emit("1", -2.72, 189.71, 4),socket.emit("1", -0.39, 189.71, 4),socket.emit("1", -1.39, 189.09, 4),socket.emit("1", -1.73, 188.48, 4),socket.emit("1", -2.4, 187.66, 4),socket.emit("1", -0.71, 187.46, 4),socket.emit("1", 0.91, 186.12, 4),socket.emit("1", 0.27, 186.2, 4),socket.emit("1", 2.9, 186.15, 4),socket.emit("1", 2.26, 185.87, 4),socket.emit("1", -3.05, 185.31, 4),socket.emit("1", -0.06, 185.8, 4),socket.emit("1", -2.07, 185.43, 4),socket.emit("1", 1.24, 184.2, 4),socket.emit("1", -1.04, 184.09, 4),socket.emit("1", 1.93, 183.65, 4),socket.emit("1",-4.70,130,7),socket.emit("1", 2.11, 130, 4),socket.emit("1", 1.06, 130, 4),socket.emit("1", 2.58, 130, 4),socket.emit("1", 0.59, 130, 4),socket.emit("1", 3.05, 130, 4),socket.emit("1", 0.12, 130, 4),socket.emit("1", -2.76, 130, 4),socket.emit("1", -0.35, 130, 4),socket.emit("1", -0.83, 130, 4),socket.emit("1", -2.29, 130, 4),socket.emit("1", -1.82, 130, 4),socket.emit("1", -1.3, 130, 4)
  57. }
  58. function barracks1(){
  59. socket.emit("1",11.93,311,8);}
  60. function barracks2(){
  61. socket.emit("1",10.07,311,8);
  62. socket.emit("1",10.49,311,8);
  63. socket.emit("1",11.51,311,8);
  64. }
  65. function greatleadership(){
  66. for (var i = 0; i < units.length; ++i) 1 == units[i].type && "circle" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 0);}
  67. function upbarracks(){
  68. for (var i = 0; i < units.length; ++i) 2 == units[i].type && "square" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 0)}
  69. function micro(){
  70. for (var i = 0; i < units.length; ++i) 3== units[i].type && "circle" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 1)}
  71. function upgens(){
  72. for (var i = 0; i < units.length; ++i) 0 == units[i].type && "hexagon" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 0)}
  73. function command(){
  74. socket.emit("4",0,0,1)}
  75. function siege(){
  76. for (var i = 0; i < units.length; ++i) 2 == units[i].type && "square" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 2)}
  77. function armory(){
  78. for (var i = 0; i < units.length; ++i) 0 == units[i].type && "circle" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 0)}
  79. function sellgens(){
  80. for (var a = [], d = 0; d < units.length; ++d) {
  81. if (units[d].type === 0 && units[d].owner == player.sid) {
  82. var name = getUnitFromPath(units[d].uPath).name;
  83. (name === 'Generator' || name === 'Power Plant') && a.push(units[d].id)
  84. }}
  85. socket.emit("3", a)}
  86. function sellsiege(){
  87. for (var a = [], d = 0; d < units.length; ++d) {
  88. if (units[d].type === 2 && units[d].owner == player.sid) {
  89. var name = getUnitFromPath(units[d].uPath).name;
  90. (name === 'Siege Factory') && a.push(units[d].id)
  91. }}
  92. socket.emit("3", a)}
  93. }
  94. //Funções//
  95. function LAG(){
  96. lag()
  97. lag2()
  98. }
  99. function lag(){var a = player.x + targetDst * MathCOS(targetDir) + camX,d = player.y + targetDst * MathSIN(targetDir) + camY;for (var e = [], b = 0; b < selUnits.length; ++b) e.push(selUnits[b].id);socket.emit("5", UTILS.roundToOne(a), UTILS.roundToOne(d), e, 0, -1)}
  100. function lag2(){var a = player.x + targetDst * MathCOS(targetDir) + camX,d = player.y + targetDst * MathSIN(targetDir) + camY;for (var e = [], b = 0; b < selUnits.length; ++b) e.push(selUnits[b].id);socket.emit("5", UTILS.roundToTwo(a), UTILS.roundToTwo(d), e, 0, -1)}
  101. function House(){socket.emit("1",10.07,311,8);socket.emit("1",10.49,311,8);socket.emit("1",11.51,311,8);socket.emit("1",11.93,311,8);socket.emit("1",7.86,311,1);socket.emit("1",8.06,311,1);socket.emit("1",8.26,311,1);socket.emit("1",8.46,311,1);socket.emit("1",8.66,311,1);socket.emit("1",8.86,311,1);socket.emit("1",9.06,311,1);socket.emit("1",9.26,311,1);socket.emit("1",9.46,311,1);socket.emit("1",9.66,311,1);socket.emit("1",9.86,311,1);socket.emit("1",10.28,311,1);socket.emit("1",10.70,311,1);socket.emit("1",10.90,311,1);socket.emit("1",11.10,311,1);socket.emit("1",11.30,311,1);socket.emit("1",11.72,311,1);socket.emit("1",12.14,311,1);socket.emit("1",12.34,311,1);socket.emit("1",12.54,311,1);socket.emit("1",12.74,311,1);socket.emit("1",12.94,311,1);socket.emit("1",13.14,311,1);socket.emit("1",13.34,311,1);socket.emit("1",13.54,311,1);socket.emit("1",13.74,311,1);socket.emit("1",13.94,311,1);socket.emit("1", 1.71, 245.85, 4),socket.emit("1", 1.46, 245.85, 4),socket.emit("1", 1.96, 245.85, 4),socket.emit("1", 1.21, 245.85, 4),socket.emit("1", 2.21, 245.85, 4),socket.emit("1", 0.96, 245.85, 4),socket.emit("1", 2.46, 245.85, 4),socket.emit("1", 0.71, 245.85, 4),socket.emit("1", 0.46, 245.85, 4),socket.emit("1", 2.71, 245.85, 4),socket.emit("1", 2.96, 245.85, 4),socket.emit("1", 0.21, 245.85, 4),socket.emit("1", -3.07, 245.85, 4),socket.emit("1", -0.04, 245.85, 4),socket.emit("1", -0.29, 245.85, 4),socket.emit("1", -2.82, 245.85, 4),socket.emit("1", -2.57, 245.85, 4),socket.emit("1", -0.54, 245.85, 4),socket.emit("1", -2.32, 245.85, 4),socket.emit("1", -0.79, 245.85, 4),socket.emit("1", -2.07, 245.85, 4),socket.emit("1", -1.04, 245.85, 4),socket.emit("1", -1.82, 245.85, 4),socket.emit("1", -1.29, 245.85, 4),socket.emit("1",4.7280,245,4),socket.emit("1", 2.58, 190.7, 4),socket.emit("1", 0.59, 190.45, 4),socket.emit("1", -2.72, 189.71, 4),socket.emit("1", -0.39, 189.71, 4),socket.emit("1", -1.39, 189.09, 4),socket.emit("1", -1.73, 188.48, 4),socket.emit("1", -2.4, 187.66, 4),socket.emit("1", -0.71, 187.46, 4),socket.emit("1", 0.91, 186.12, 4),socket.emit("1", 0.27, 186.2, 4),socket.emit("1", 2.9, 186.15, 4),socket.emit("1", 2.26, 185.87, 4),socket.emit("1", -3.05, 185.31, 4),socket.emit("1", -0.06, 185.8, 4),socket.emit("1", -2.07, 185.43, 4),socket.emit("1", 1.24, 184.2, 4),socket.emit("1", -1.04, 184.09, 4),socket.emit("1", 1.93, 183.65, 4),socket.emit("1",-4.70,130,7),socket.emit("1", 2.11, 130, 4),socket.emit("1", 1.06, 130, 4),socket.emit("1", 2.58, 130, 4),socket.emit("1", 0.59, 130, 4),socket.emit("1", 3.05, 130, 4),socket.emit("1", 0.12, 130, 4),socket.emit("1", -2.76, 130, 4),socket.emit("1", -0.35, 130, 4),socket.emit("1", -0.83, 130, 4),socket.emit("1", -2.29, 130, 4),socket.emit("1", -1.82, 130, 4),socket.emit("1", -1.3, 130, 4)}
  102. function DefHouse(){socket.emit("1",10.07,311,1);socket.emit("1",10.49,311,1);socket.emit("1",11.51,311,1);socket.emit("1",11.93,311,1);socket.emit("1",7.86,311,1);socket.emit("1",8.06,311,1);socket.emit("1",8.26,311,1);socket.emit("1",8.46,311,1);socket.emit("1",8.66,311,1);socket.emit("1",8.86,311,1);socket.emit("1",9.06,311,1);socket.emit("1",9.26,311,1);socket.emit("1",9.46,311,1);socket.emit("1",9.66,311,1);socket.emit("1",9.86,311,1);socket.emit("1",10.28,311,1);socket.emit("1",10.70,311,1);socket.emit("1",10.90,311,1);socket.emit("1",11.10,311,1);socket.emit("1",11.30,311,1);socket.emit("1",11.72,311,1);socket.emit("1",12.14,311,1);socket.emit("1",12.34,311,1);socket.emit("1",12.54,311,1);socket.emit("1",12.74,311,1);socket.emit("1",12.94,311,1);socket.emit("1",13.14,311,1);socket.emit("1",13.34,311,1);socket.emit("1",13.54,311,1);socket.emit("1",13.74,311,1);socket.emit("1",13.94,311,1);socket.emit("1", 1.71, 245.85, 1),socket.emit("1", 1.46, 245.85, 1),socket.emit("1", 1.96, 245.85, 1),socket.emit("1", 1.21, 245.85, 1),socket.emit("1", 2.21, 245.85, 1),socket.emit("1", 0.96, 245.85, 1),socket.emit("1", 2.46, 245.85, 1),socket.emit("1", 0.71, 245.85, 1),socket.emit("1", 0.46, 245.85, 1),socket.emit("1", 2.71, 245.85, 1),socket.emit("1", 2.96, 245.85, 1),socket.emit("1", 0.21, 245.85, 1),socket.emit("1", -3.07, 245.85, 1),socket.emit("1", -0.04, 245.85, 1),socket.emit("1", -0.29, 245.85, 1),socket.emit("1", -2.82, 245.85, 1),socket.emit("1", -2.57, 245.85, 1),socket.emit("1", -0.54, 245.85, 1),socket.emit("1", -2.32, 245.85, 1),socket.emit("1", -0.79, 245.85, 1),socket.emit("1", -2.07, 245.85, 1),socket.emit("1", -1.04, 245.85, 1),socket.emit("1", -1.82, 245.85, 1),socket.emit("1", -1.29, 245.85, 1),socket.emit("1",4.7280,245,1),socket.emit("1", 2.58, 190.7, 1),socket.emit("1", 0.59, 190.45, 1),socket.emit("1", -2.72, 189.71, 1),socket.emit("1", -0.39, 189.71, 1),socket.emit("1", -1.39, 189.09, 1),socket.emit("1", -1.73, 188.48, 1),socket.emit("1", -2.4, 187.66, 1),socket.emit("1", -0.71, 187.46, 1),socket.emit("1", 0.91, 186.12, 1),socket.emit("1", 0.27, 186.2, 1),socket.emit("1", 2.9, 186.15, 1),socket.emit("1", 2.26, 185.87, 1),socket.emit("1", -3.05, 185.31, 1),socket.emit("1", -0.06, 185.8, 1),socket.emit("1", -2.07, 185.43, 1),socket.emit("1", 1.24, 184.2, 1),socket.emit("1", -1.04, 184.09, 1),socket.emit("1", 1.93, 183.65, 1),socket.emit("1",-4.70,140,1),socket.emit("1", 2.11, 130, 1),socket.emit("1", 1.06, 130, 1),socket.emit("1", 2.58, 130, 1),socket.emit("1", 0.59, 130, 1),socket.emit("1", 3.05, 130, 1),socket.emit("1", 0.12, 130, 1),socket.emit("1", -2.76, 130, 1),socket.emit("1", -0.35, 130, 1),socket.emit("1", -0.83, 130, 1),socket.emit("1", -2.29, 130, 1),socket.emit("1", -1.82, 130, 1),socket.emit("1", -1.3, 130, 1)
  103. }
  104. function remontar(){
  105. setTimeout(function() {vender();}, 20);setTimeout(function() {reconstruir();}, 30);}
  106. function vender() {for (var a = [], d = 0; d < units.length; ++d) units[d].type === 3 && units[d].owner == player.sid && getUnitFromPath(units[d].uPath).name === 'Wall' && a.push(units[d].id);socket.emit("3", a)};
  107. function reconstruir() {socket.emit("1",10.07,311,8);socket.emit("1",10.49,311,8);socket.emit("1",11.51,311,8);socket.emit("1",11.93,311,8);socket.emit("1",7.86,311,1);socket.emit("1",8.06,311,1);socket.emit("1",8.26,311,1);socket.emit("1",8.46,311,1);socket.emit("1",8.66,311,1);socket.emit("1",8.86,311,1);socket.emit("1",9.06,311,1);socket.emit("1",9.26,311,1);socket.emit("1",9.46,311,1);socket.emit("1",9.66,311,1);socket.emit("1",9.86,311,1);socket.emit("1",10.28,311,1);socket.emit("1",10.70,311,1);socket.emit("1",10.90,311,1);socket.emit("1",11.10,311,1);socket.emit("1",11.30,311,1);socket.emit("1",11.72,311,1);socket.emit("1",12.14,311,1);socket.emit("1",12.34,311,1);socket.emit("1",12.54,311,1);socket.emit("1",12.74,311,1);socket.emit("1",12.94,311,1);socket.emit("1",13.14,311,1);socket.emit("1",13.34,311,1);socket.emit("1",13.54,311,1);socket.emit("1",13.74,311,1);socket.emit("1",13.94,311,1);socket.emit("1", 1.71, 245.85, 4),socket.emit("1", 1.46, 245.85, 4),socket.emit("1", 1.96, 245.85, 4),socket.emit("1", 1.21, 245.85, 4),socket.emit("1", 2.21, 245.85, 4),socket.emit("1", 0.96, 245.85, 4),socket.emit("1", 2.46, 245.85, 4),socket.emit("1", 0.71, 245.85, 4),socket.emit("1", 0.46, 245.85, 4),socket.emit("1", 2.71, 245.85, 4),socket.emit("1", 2.96, 245.85, 4),socket.emit("1", 0.21, 245.85, 4),socket.emit("1", -3.07, 245.85, 4),socket.emit("1", -0.04, 245.85, 4),socket.emit("1", -0.29, 245.85, 4),socket.emit("1", -2.82, 245.85, 4),socket.emit("1", -2.57, 245.85, 4),socket.emit("1", -0.54, 245.85, 4),socket.emit("1", -2.32, 245.85, 4),socket.emit("1", -0.79, 245.85, 4),socket.emit("1", -2.07, 245.85, 4),socket.emit("1", -1.04, 245.85, 4),socket.emit("1", -1.82, 245.85, 4),socket.emit("1", -1.29, 245.85, 4),socket.emit("1",4.7280,245,4),socket.emit("1", 2.58, 190.7, 4),socket.emit("1", 0.59, 190.45, 4),socket.emit("1", -2.72, 189.71, 4),socket.emit("1", -0.39, 189.71, 4),socket.emit("1", -1.39, 189.09, 4),socket.emit("1", -1.73, 188.48, 4),socket.emit("1", -2.4, 187.66, 4),socket.emit("1", -0.71, 187.46, 4),socket.emit("1", 0.91, 186.12, 4),socket.emit("1", 0.27, 186.2, 4),socket.emit("1", 2.9, 186.15, 4),socket.emit("1", 2.26, 185.87, 4),socket.emit("1", -3.05, 185.31, 4),socket.emit("1", -0.06, 185.8, 4),socket.emit("1", -2.07, 185.43, 4),socket.emit("1", 1.24, 184.2, 4),socket.emit("1", -1.04, 184.09, 4),socket.emit("1", 1.93, 183.65, 4),socket.emit("1",-4.70,130,7),socket.emit("1", 2.11, 130, 4),socket.emit("1", 1.06, 130, 4),socket.emit("1", 2.58, 130, 4),socket.emit("1", 0.59, 130, 4),socket.emit("1", 3.05, 130, 4),socket.emit("1", 0.12, 130, 4),socket.emit("1", -2.76, 130, 4),socket.emit("1", -0.35, 130, 4),socket.emit("1", -0.83, 130, 4),socket.emit("1", -2.29, 130, 4),socket.emit("1", -1.82, 130, 4),socket.emit("1", -1.3, 130, 4)
  108. }
  109. function micro(){
  110. for (var i = 0; i < units.length; ++i) 3 == units[i].type && "circle" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 1)
  111. }
  112. function sellwall(){
  113. for (var a = [], d = 0; d < units.length; ++d) units[d].type === 3 && units[d].owner == player.sid && getUnitFromPath(units[d].uPath).name === 'Wall' && a.push(units[d].id);socket.emit("3", a)
  114. }
  115. function gens(){
  116. socket.emit("1", 4.73, 245, 3); socket.emit("1", 5.0025, 245, 3); socket.emit("1", 5.275, 245, 3); socket.emit("1", 5.5475, 245, 3); socket.emit("1", 5.82, 245, 3); socket.emit("1", 6.0925, 245, 3); socket.emit("1", 6.365, 245, 3); socket.emit("1", 6.6375, 245, 3); socket.emit("1", 6.91, 245, 3); socket.emit("1", 7.1825, 245, 3); socket.emit("1", 7.455, 245, 3); socket.emit("1", 7.7275, 245, 3); socket.emit("1", 8.0025, 245, 3); socket.emit("1", 8.275, 245, 3); socket.emit("1", 8.5475, 245, 3); socket.emit("1", 8.82, 245, 3); socket.emit("1", 9.0925, 245, 3); socket.emit("1", 9.3675, 245, 3); socket.emit("1", 9.64, 245, 3); socket.emit("1", 9.9125, 245, 3); socket.emit("1", 10.1875, 245, 3); socket.emit("1", 10.4625, 245, 3); socket.emit("1", 10.7375, 245, 3); socket.emit("1", 5.999, 180, 3); socket.emit("1", 6.275, 130, 3); socket.emit("1", 6.51, 185, 3); socket.emit("1", 6.775, 130, 3); socket.emit("1", 7.05, 185, 3); socket.emit("1", 7.3, 130, 3); socket.emit("1", 7.6, 185, 3); socket.emit("1", 7.85, 130, 3); socket.emit("1", 8.15, 185, 3); socket.emit("1", 8.4, 130, 3); socket.emit("1", 8.675, 185, 3); socket.emit("1", 8.925, 130, 3); socket.emit("1", 9.225, 185, 3); socket.emit("1", 9.5, 130, 3); socket.emit("1", 9.78, 185, 3); socket.emit("1", 10.05, 130, 3); socket.emit("1", 10.325, 185, 3); socket.emit("1", 10.6, 130, 3); socket.emit("1", 4.5889, 186.5, 3); socket.emit("1", 4.81, 130, 3); socket.emit("1", 5.085, 180.5, 3); socket.emit("1", 5.36, 130, 3); socket.emit("1", 5.64, 180, 3);
  117. }
  118. function defgens(){
  119. socket.emit('1',-1.0622001258342575,243.84353179856956,1);socket.emit('1',1.0441830715523195,243.84792330466954,1);socket.emit('1',0.780903485821051,243.84823661449764,1);socket.emit('1',0.5175743723300564,243.84886835907193,1);socket.emit('1',0.25427836120664293,243.8510112753277,1);socket.emit('1',-0.00902206491167247,243.8499243387211,1);socket.emit('1',-0.27228367750613924,243.85375391820403,1);socket.emit('1',-0.5356018704187981,243.8480930825583,1);socket.emit('1',-0.7988822517151568,243.85379984736753,1);socket.emit('1',-0.9305375326299632,132.00469385593826,1);socket.emit('1',-0.6672207553366907,183.9997586954939,1);socket.emit('1',-0.403916953210808,132.00241967479243,1);socket.emit('1',-0.14062884883543125,183.99640349745965,1);socket.emit('1',0.12272942279962962,132.00290034692418,1);socket.emit('1',0.3859865208712111,183.99713177112304,1);socket.emit('1',0.6492890106455586,132.00021098467997,1);socket.emit('1',0.8965724125464973,184.2569523790079,1);socket.emit('1',-1.5707963267948966,140,1);socket.emit('1',1.5707963267948966,243.85,1);socket.emit('1',-1.5707963267948966,212.1,1);socket.emit('1',1.3074863342117489,243.85475882172156,1);socket.emit('1',-1.325489442637866,243.85018125890332,1);socket.emit('1',-1.1938323121943286,183.99923722667984,1);socket.emit('1',1.1392033572365667,132.00476658060498,1);socket.emit('1',1.394099029458639,182.5016219106011,1);socket.emit('1',1.8341063193780445,243.85475882172156,1);socket.emit('1',2.097409582037474,243.84792330466954,1);socket.emit('1',-2.0793925277555356,243.84353179856956,1);socket.emit('1',-1.8161032109519273,243.85018125890332,1);socket.emit('1',-1.9477603413954647,183.99923722667984,1);socket.emit('1',-2.21105512095983,132.00469385593826,1);socket.emit('1',-2.7376757003789853,132.00241967479243,1);socket.emit('1',2.4923036429442345,132.00021098467997,1);socket.emit('1',2.245020241043296,184.2569523790079,1);socket.emit('1',2.0023892963532264,132.00476658060498,1);socket.emit('1',1.7474936241311543,182.5016219106011,1);socket.emit('1',2.3606891677687423,243.84823661449764,1);socket.emit('1',-2.3427104018746365,243.85379984736753,1);socket.emit('1',-2.4743718982531027,183.9997586954939,1);socket.emit('1',2.755606132718582,183.99713177112304,1);socket.emit('1',-3.000963804754362,183.99640349745977,1);socket.emit('1',3.0188632307901635,132.00290034692418,1);socket.emit('1',2.624018281259737,243.84886835907201,1);socket.emit('1',2.8873142923831505,243.8510112753277,1);socket.emit('1',-3.1325705886781208,243.849924338721,1);socket.emit('1',-2.869308976083654,243.8537539182039,1);socket.emit('1',-2.605990783170995,243.8480930825583,1);
  120. }
  121. function upbase(){
  122. for (var i = 0; i < units.length; ++i) 0 == units[i].type && "hexagon" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 0)
  123. for (var i = 0; i < units.length; ++i) 0 == units[i].type && 4 == units[i].turretIndex && "circle" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 1)
  124. for (var i = 0; i < units.length; ++i) 3 == units[i].type && "circle" == units[i].shape && units[i].owner == player.sid && socket.emit("4", units[i].id, 1)
  125. }
  126. function centralizador(){
  127. if(player.x==null){player.x==0};if(player.y==null){player.y==0};for (var e = [], b = 0; b < Math.floor(selUnits.length-0); ++b) e.push(selUnits[b].id);socket.emit("5", (player.x)*1, (player.y)*1, e, 0, -1);
  128. }
  129. window.addEventListener("keydown", function(a) {
  130. a = a.keyCode ? a.keyCode : a.which;
  131.  
  132. if (a === 69) {//Commander e soldiers
  133. selUnits = []; units.forEach((unit) => { if (unit.owner === player.sid && unit.type === 1) { if (!unit.info) unit.info = getUnitFromPath(unit.uPath); unit.info.name !== 'Siege Ram' && selUnits.push(unit) } }); selUnitType = "Unit";
  134.  
  135. } else if (a === 67) {//Commander
  136. selUnits = []; units.every((unit) => { if (unit.owner === player.sid && unit.type === 1) { if (!unit.info) unit.info = getUnitFromPath(unit.uPath); if (unit.info.name === 'Commander') { selUnits.push(unit); return false; } } return true; }); selUnitType = "Unit";
  137.  
  138. } else if (a === 81) {//Soldier
  139. selUnits = []; units.forEach((unit) => { if (unit.owner === player.sid && unit.type === 1) { if (!unit.info) unit.info = getUnitFromPath(unit.uPath); if (unit.info.name === 'Soldier') { selUnits.push(unit); return false; } } return true; }); selUnitType = "Unit"; }
  140. });
  141. addEventListener("keydown", function(a){
  142. if (a.keyCode == 67) {//Commander
  143. socket.emit("4",0,0,1);
  144. }})
  145.  
  146. //Teclas//
  147. addEventListener("keydown", function(a){
  148. a = a.keyCode ? a.keyCode : a.which;
  149. if(a == 17){LAG();}
  150. if(a == 90){House();}
  151. if(a == 88){DefHouse();}
  152. if(a == 51){remontar();}
  153. if(a == 52){micro();}
  154. if(a == 53){sellwall();}
  155. if(a == 120){gens();}
  156. if(a == 121){defgens();}
  157. if(a == 118){upbase();}
  158. if(a == 45){baseATK();}
  159. if(a == 191){centralizador();}
  160. })
  161. //Resolução//
  162. cameraSpd *=1.5
  163. var resolution = 1;
  164. var rate = 0;
  165. window.removeEventListener("mousemove", gameInput);
  166. window.gameInput = function (a) {
  167. a.preventDefault();
  168. a.stopPropagation();
  169. mouseX = a.clientX * resolution;
  170. mouseY = a.clientY * resolution;
  171. };
  172. window.addEventListener("mousemove", gameInput, false);
  173. window.removeEventListener("resize", resize);
  174. window.resize = function (n) {
  175. screenWidth = window.innerWidth * resolution;
  176. screenHeight = window.innerHeight * resolution;
  177. scaleFillNative = MathMAX(screenWidth / maxScreenWidth, screenHeight / maxScreenHeight);
  178. if (n !== true) {
  179. mainCanvas.width = screenWidth;
  180. mainCanvas.height = screenHeight;
  181. mainCanvas.style.width = (screenWidth / resolution) + "px";
  182. mainCanvas.style.height = (screenHeight / resolution) + "px";
  183. };
  184.  
  185. mainContext.setTransform(scaleFillNative, 0, 0, scaleFillNative, Math.floor((screenWidth - maxScreenWidth * scaleFillNative) / 2), Math.floor((screenHeight - maxScreenHeight * scaleFillNative) / 2));
  186. player || renderBackground();
  187. };
  188. window.setRes = function () {
  189. var el = document.getElementById('res');
  190. if (resolution === 1) {
  191. resolution = .1;
  192. el.textContent = 'Res(.1)';
  193. } else if (resolution === .1) {
  194. resolution = .2;
  195. el.textContent = 'Res(.2)';
  196. } else if (resolution === .2) {
  197. resolution = .3;
  198. el.textContent = 'Res(.3)';
  199. } else if (resolution === .3) {
  200. resolution = .4;
  201. el.textContent = 'Res(.4)';
  202. } else if (resolution === .4) {
  203. resolution = .5;
  204. el.textContent = 'Res(.5)';
  205. } else if (resolution === .5) {
  206. resolution = .6;
  207. el.textContent = 'Res(.6)';
  208. } else if (resolution === .6) {
  209. resolution = .7;
  210. el.textContent = 'Res(.7)';
  211. } else if (resolution === .7) {
  212. resolution = .8;
  213. el.textContent = 'Res(.8)';
  214. } else if (resolution === .8) {
  215. resolution = .9;
  216. el.textContent = 'Res(.9)';
  217. } else if (resolution === .9) {
  218. resolution = 1;
  219. el.textContent = 'Res(1)';
  220. }
  221.  
  222. unitSprites = {};
  223. resize();
  224. window.statusBar();
  225. };
  226. //FPS//
  227. window.setFPS = function () {
  228. var el = document.getElementById('fps');
  229. if (rate === 0) {
  230. el.textContent = 'Anti-Lag';
  231. rate = 60
  232. } else {
  233. el.textContent = 'Normal';
  234. rate = 0;
  235. }
  236. unitSprites = {};
  237. resize();
  238. window.statusBar();
  239. };
  240. // Bot //
  241. window.Bot=function(){
  242. var bots = prompt("quantidade de bot")
  243. for (let i = 0; i < bots; i++) {
  244. window.open("http://bloble.io/?l="+partyKey)
  245. }}
  246. //Sieg//
  247. window.centro=function(){
  248. if(player.x==null){player.x==0};if(player.y==null){player.y==0};for (var e = [], b = 0; b < Math.floor(selUnits.length-0); ++b) e.push(selUnits[b].id);socket.emit("5", (player.x)*1, (player.y)*1, e, 0, -1);
  249. }
  250. window.sellhouse=function(){
  251. for (var a = [], d = 0; d < units.length; ++d) units[d].type === 0 && units[d].owner == player.sid && getUnitFromPath(units[d].uPath).name === 'House' && a.push(units[d].id);socket.emit("3", a);
  252. }
  253. window.Sellgens=function(){
  254. for (var a = [], d = 0; d < units.length; ++d) {if (units[d].type === 0 && units[d].owner == player.sid) {var name = getUnitFromPath(units[d].uPath).name;(name === 'Generator' || name === 'Power Plant') && a.push(units[d].id)}}socket.emit("3", a)
  255. }
  256. //great//
  257. window.Great=function(){
  258. for(i=0;i<units.length;++i){ if(2==units[i].type&&"square"==units[i].shape&&units[i].owner==player.sid){ socket.emit("4",units[i].id,0);}}
  259. }
  260. // Hotbar //
  261. window.UIList = window.UIList || [];
  262. window.initFuncs = window.initFuncs || [];
  263. window.statusItems = window.statusItems || [];
  264. window.UIList.push({
  265. level:0,x:1,html:'<div id="res" onclick=setRes()>Resolução(1)</div>'},{
  266. level:0,x:2,html:'<div id="fps" onclick=setFPS()>Normal</div>'},{
  267. level:0,x:3,html:'<div onclick=Bot()>BotGuia</div>'},{
  268. level:0,x:4,html:'<div onclick=centro()>Siege</div>'},{
  269. level:0,x:5,html:'<div onclick=sellhouse()>SellHouse</div>'},{
  270. level:1,x:1,html:'<div onclick=Great()>Barracks</div>'},{
  271. level:1,x:2,html:'<div onclick=Power()>PowerPlant</div>'},{
  272. level:1,x:3,html:'<div onclick=anti()>AntiTank</div>'},{
  273. level:1,x:4,html:'<div onclick=Micro()>Micro</div>'},{
  274. level:1,x:5,html:'<div onclick=Sellgens()>SellGens</div>'},{
  275. })
  276. window.makeUI = function () {
  277. if (window.hasMadeUI) return;
  278. window.hasMadeUI = true;
  279. window.statusItems.sort(function (a, b) {return a.order - b.order;})
  280. var levels = [];
  281. window.UIList.forEach((item) => {
  282. if (!levels[item.level]) levels[item.level] = [];
  283. levels[item.level].push(item)})
  284. levels = levels.filter((a) => {if (a) {a.sort(function (a, b) {return a.x - b.x;})
  285. return true;} else {return false;}})
  286. var headAppend = document.getElementsByTagName("head")[0],style = document.createElement("div");
  287. var toast = document.createElement('div');toast.id = "snackbar";
  288. var css = document.createElement('div');
  289. var height = levels.length * (14 + 19) + (levels.length - 1) * 7 + 23;
  290. style.innerHTML = "<style>\n\
  291. #noobscriptUI, #noobscriptUI > div > div {\n\
  292. background-color: rgba(139,0,139, 0.2);\n\
  293. margin-left: 1px;\n\
  294. border-radius:10px;\n\
  295. pointer-events:all\n\
  296. }\n\
  297. #noobscriptUI {\n\
  298. top: -" + (height + 12) + "px;\n\
  299. transition: 1s;\n\
  300. margin-left:10px;\n\
  301. position:absolute;\n\
  302. padding-left:25px;\n\
  303. margin-top:9px;\n\
  304. padding-top:15px;\n\
  305. width:500px;\n\
  306. height: " + height + "px;\n\
  307. font-family:arial;\n\
  308. left:24%\n\
  309. }\n\
  310. #noobscriptUI:hover{\n\
  311. top:0px\n\
  312. }\n\
  313. #noobscriptUI > div > div {\n\
  314. color:#fff;\n\
  315. padding:7px;\n\
  316. height:19px;\n\
  317. display:inline-block;\n\
  318. background-color: rgba(139,0,139, 0.2)\n\
  319. cursor:pointer;\n\
  320. font-size:20px\n\
  321. }\n\
  322. </style>"
  323. headAppend.appendChild(style);headAppend.appendChild(css);
  324. var contAppend = document.getElementById("gameUiContainer"),menuA = document.createElement("div");
  325. var code = ['<div id="noobscriptUI">\n'];
  326. levels.forEach((items, i) => {
  327. code.push(i === 0 ? ' <div>\n' : ' <div style="margin-top:7px;">\n');
  328. items.forEach((el) => {
  329. code.push(' ' + el.html + '\n');})
  330. code.push(' </div>\n');})
  331. code.push(' <div id="confinfo" style="margin-top:4px; color: white; text-align: center; font-size: 10px; white-space:pre"></div>')
  332. code.push('</div>');
  333. menuA.innerHTML = code.join("");
  334. contAppend.insertBefore(menuA, contAppend.firstChild)
  335. contAppend.appendChild(toast)}
  336. setTimeout(() => {window.makeUI();}, 1000);
  337.  
  338. // Propag //
  339. document.getElementById("gameTitle").innerHTML = "Tiosoul V1";
  340. document.getElementById("smallAdContainer").innerHTML = '';
  341. document.getElementById("adContainer").innerHTML = '';
  342. document.getElementById("youtubeContainer").innerHTML = '';
  343. document.getElementById("youtuberOf").innerHTML = '';
  344. document.getElementById("lobbyKey").innerHTML = "";
  345. // setup //
  346. function renderUnit(a,d,c,b,g,e,k){
  347. var f=b.size*(k?iconSizeMult:1),h=f+":"+b.cloak+":"+b.renderIndex+":"+b.iSize+":"+b.turretIndex+":"+b.shape+":"+g;
  348. if(!unitSprites[h]){var m=document.createElement("canvas"),l=m.getContext("2d");
  349. m.width=2*f+30;m.height=m.width;m.style.width=m.width+"px";
  350. m.style.height=m.height+"px";l.translate(m.width/2,m.height/2);
  351. l.lineWidth=outlineWidth*(k?.9:1.2);l.strokeStyle=darkColor;
  352. l.fillStyle=g;
  353. 4==b.renderIndex?l.fillStyle=turretColor:5==b.renderIndex&&(l.fillStyle=turretColor,renderRect(0,.76*f,1.3*f,f/2.4,l),l.fillStyle=g);b.cloak&&(l.fillStyle=backgroundColor);
  354. "circle"==b.shape?(renderCircle(0,0,f,l),
  355. b.iSize&&(l.fillStyle=turretColor,renderCircle(0,0,f*b.iSize,l))):"triangle"==b.shape?(renderTriangle(0,0,f,l),b.iSize&&(l.fillStyle=turretColor,renderTriangle(0,2,f*b.iSize,l))):"hexagon"==b.shape?(renderAgon(0,0,f,l,6),b.iSize&&(l.fillStyle=turretColor,renderAgon(0,0,f*b.iSize,l,6))):"octagon"==b.shape?(l.rotate(MathPI/8),renderAgon(0,0,.96*f,l,8),b.iSize&&(l.fillStyle=turretColor,renderAgon(0,0,.96*f*b.iSize,l,8))):"pentagon"==b.shape?(l.rotate(-MathPI/2),renderAgon(0,0,1.065*f,l,5),b.iSize&&(l.fillStyle=turretColor,renderAgon(0,0,1.065*f*b.iSize,l,5))):"square"==b.shape?(renderSquare(0,0,f,l),b.iSize&&(l.fillStyle=turretColor,renderSquare(0,0,f*b.iSize,l))):"spike"==b.shape?renderStar(0,0,f,.7*f,l,8):"star"==b.shape&&(f*=1.2,renderStar(0,0,f,.7*f,l,6));
  356. if(1==b.renderIndex)l.fillStyle=turretColor,renderRect(f/2.8,0,f/4,f/1,l),renderRect(-f/2.8,0,f/4,f/1,l);
  357. else if(2==b.renderIndex)l.fillStyle=turretColor,renderRect(f/2.5,f/2.5,f/2.5,f/2.5,l),renderRect(-f/2.5,f/2.5,f/2.5,f/2.5,l),renderRect(f/2.5,-f/2.5,f/2.5,f/2.5,l),renderRect(-f/2.5,-f/2.5,f/2.5,f/2.5,l);
  358. else if(3==b.renderIndex)l.fillStyle=turretColor,l.rotate(MathPI/2),renderRectCircle(0,0,.75*f,f/2.85,3,l),renderCircle(0,0,.5*f,l),l.fillStyle=g;
  359. else if(6==b.renderIndex)l.fillStyle=turretColor,l.rotate(MathPI/2),renderRectCircle(0,0,.7*f,f/4,5,l),l.rotate(-MathPI/2),renderAgon(0,0,.4*f,l,6);
  360. else if(7==b.renderIndex)for(g=0;3>g;++g)l.fillStyle=g?1==g?"#006e1a00":"#006e1a00":"#006e1a00",renderStar(0, 0, f, .8 * f, l, 15),f *= .70;
  361. else 8==b.renderIndex&&(l.fillStyle=turretColor,renderRectCircle(0,0,.75*f,f/2.85,3,l),renderSquare(0,0,.5*f,l));1!=b.type&&b.turretIndex&&renderTurret(0,0,b.turretIndex,k?iconSizeMult:1,-(MathPI/2),l);
  362. unitSprites[h]=m}f=unitSprites[h];e.save();e.translate(a,d);e.rotate(c+MathPI/2);
  363. e.drawImage(f,-(f.width/2),-(f.height/2),f.width,f.height);
  364. 1==b.type&&b.turretIndex&&renderTurret(0,0,b.turretIndex,k?iconSizeMult:1,b.turRot-MathPI/2-c,e);e.restore()};
  365. renderText=function(a, d) { var c = document.createElement("canvas") , b = c.getContext("2d"); b.font = d + "px regularF"; var g = b.measureText(a); c.width = g.width + 20; c.height = 2 * d; b.translate(c.width / 2, c.height / 2); b.font = d +"px regularF"; b.fillStyle = "#000"; b.textBaseline = "middle"; b.textAlign = "center"; b.strokeStyle = darkColor; b.lineWidth = outlineWidth; b.strokeText(a, 0, 0); b.fillText(a, 0, 0); return c }
  366.  
  367. upgradeUnit=function(a){socket&&gameState&&(1==selUnits.length?socket.emit("4",selUnits[0].id,a):(activeBase)?(a==0&&activeBase.sid==player.sid?(socket.emit("4",0,a,1)):(handleActiveBaseUpgrade(activeBase.sid,activeBase.upgrades[a].name))):(upgradeSelUnits(selUnits[0],a)))}
  368.  
  369. window.toggleUnitInfo=function(a,d){var c="";a&&a.uPath&&(c=void 0!=a.group?a.group:a.uPath[0],c=unitList[c].limit?(unitList[c].count||0)+"/"+unitList[c].limit:"");if(a&&(forceUnitInfoUpdate||"block"!=unitInfoContainer.style.display||unitInfoName.innerHTML!=(a.iName||a.name)||lastCount!=c)){forceUnitInfoUpdate=!1;unitInfoContainer.style.display="block";unitInfoName.innerHTML=a.iName||a.name;a.cost?(unitInfoCost.innerHTML="Cost "+a.cost,unitInfoCost.style.display="block"):unitInfoCost.style.display="none";
  370. unitInfoDesc.innerHTML=a.desc;unitInfoType.innerHTML=a.typeName;var b=a.space;lastCount=c;c='<span style="color:#fff">'+c+"</span>";unitInfoLimit.innerHTML=b?'<span><i class="material-icons" style="vertical-align: top; font-size: 20px;">&#xE7FD;</i>'+b+"</span> "+c:c;unitInfoUpgrades.innerHTML="";if(d&&a.upgrades){for(var g,e,h,f,k,c=0;c<a.upgrades.length;++c)(function(b){g=a.upgrades[b];var c=!0;g.lockMaxBuy&&void 0!=g.unitSpawn&&(unitList[g.unitSpawn].count||0)>=(unitList[g.unitSpawn].limit||0)?
  371. c=!1:g.dontShow&&(c=!1);c&&(e=document.createElement("div"),e.className="upgradeInfo",h=document.createElement("div"),h.className="unitInfoName",h.innerHTML=g.name,e.appendChild(h),f=document.createElement("div"),f.className="unitInfoCost",g.cost?(f.innerHTML="Cost "+g.cost,e.appendChild(f)):(null),k=document.createElement("div"),k.id="upgrDesc"+b,k.className="unitInfoDesc",k.innerHTML=g.desc,k.style.display="none",e.appendChild(k),e.onmouseover=function(){document.getElementById("upgrDesc"+b).style.display="block"},
  372. e.onmouseout=function(){document.getElementById("upgrDesc"+b).style.display="none"},e.onclick=function(){upgradeUnit(b);mainCanvas.focus()},unitInfoUpgrades.appendChild(e))})(c);g=e=h=f=k=null}}else a||(unitInfoContainer.style.display="none")}
  373.  
  374. updateGameLoop=function(a){if(player&&gameData){updateTarget();if(gameState&&mapBounds){if(camXS||camYS)camX+=camXS*cameraSpd*a,camY+=camYS*cameraSpd*a;player.x+camX<mapBounds[0]?camX=mapBounds[0]-player.x:player.x+camX>mapBounds[0]+mapBounds[2]&&(camX=mapBounds[0]+mapBounds[2]-player.x);player.y+camY<mapBounds[1]?camY=mapBounds[1]-player.y:player.y+camY>mapBounds[1]+mapBounds[3]&&(camY=mapBounds[1]+mapBounds[3]-player.y);
  375. currentTime-lastCamSend>=sendFrequency&&(lastCamX!=camX||lastCamY!=camY)&&(lastCamX=camX,lastCamY=camY,lastCamSend=currentTime,socket.emit("2",Math.round(camX),Math.round(camY)))}renderBackground(outerColor);var d=(player.x||0)-maxScreenWidth/2+camX,c=(player.y||0)-maxScreenHeight/2+camY;mapBounds&&(mainContext.fillStyle=backgroundColor,mainContext.fillRect(mapBounds[0]-d,mapBounds[1]-c,mapBounds[2],mapBounds[3]));for(var b,g,e=0;e<units.length;++e)b=units[e],b.interpDst&&(g=b.interpDst*a*.015,b.interX+=
  376. g*MathCOS(b.interpDir),b.interY+=g*MathSIN(b.interpDir),b.interpDst-=g,.1>=b.interpDst&&(b.interpDst=0,b.interX=b.interpDstS*MathCOS(b.interpDir),b.interY=b.interpDstS*MathSIN(b.interpDir))),b.speed&&(updateUnitPosition(b),b.x+=b.interX||0,b.y+=b.interY||0);var h,f;if(gameState)if(activeUnit){h=player.x-d+targetDst*MathCOS(targetDir)+camX;f=player.y-c+targetDst*MathSIN(targetDir)+camY;var k=UTILS.getDirection(h,f,player.x-d,player.y-c);0==activeUnit.type?(b=UTILS.getDistance(h,f,player.x-d,player.y-
  377. c),b-activeUnit.size<player.startSize?(h=player.x-d+(activeUnit.size+player.startSize)*MathCOS(k),f=player.y-c+(activeUnit.size+player.startSize)*MathSIN(k)):b+activeUnit.size>player.buildRange-.15&&(h=player.x-d+(player.buildRange-activeUnit.size-.15)*MathCOS(k),f=player.y-c+(player.buildRange-activeUnit.size-.15)*MathSIN(k))):1==activeUnit.type||2==activeUnit.type?(h=player.x-d+(activeUnit.size+player.buildRange)*MathCOS(k),f=player.y-c+(activeUnit.size+player.buildRange)*MathSIN(k)):3==activeUnit.type&&
  378. (b=UTILS.getDistance(h,f,player.x-d,player.y-c),b-activeUnit.size<player.startSize?(h=player.x-d+(activeUnit.size+player.startSize)*MathCOS(k),f=player.y-c+(activeUnit.size+player.startSize)*MathSIN(k)):b+activeUnit.size>player.buildRange+2*activeUnit.size&&(h=player.x-d+(player.buildRange+activeUnit.size)*MathCOS(k),f=player.y-c+(player.buildRange+activeUnit.size)*MathSIN(k)));activeUnitDir=k;activeUnitDst=UTILS.getDistance(h,f,player.x-d,player.y-c);activeUnit.dontPlace=!1;mainContext.fillStyle=
  379. outerColor;if(0==activeUnit.type||2==activeUnit.type||3==activeUnit.type)for(e=0;e<units.length;++e)if(1!=units[e].type&&units[e].owner==player.sid&&0<=activeUnit.size+units[e].size-UTILS.getDistance(h,f,units[e].x-d,units[e].y-c)){mainContext.fillStyle=redColor;activeUnit.dontPlace=!0;break}renderCircle(h,f,activeUnit.range?activeUnit.range:activeUnit.size+30,mainContext,!0)}else if(selUnits.length)for(e=0;e<selUnits.length;++e)mainContext.fillStyle=outerColor,1<selUnits.length?renderCircle(selUnits[e].x-
  380. d,selUnits[e].y-c,selUnits[e].size+25,mainContext,!0):renderCircle(selUnits[e].x-d,selUnits[e].y-c,selUnits[e].range?selUnits[e].range:selUnits[e].size+25,mainContext,!0);else activeBase&&(mainContext.fillStyle=outerColor,renderCircle(activeBase.x-d,activeBase.y-c,activeBase.size+50,mainContext,!0));if(selUnits.length)for(mainContext.strokeStyle=targetColor,e=0;e<selUnits.length;++e)selUnits[e].gatherPoint&&renderDottedCircle(selUnits[e].gatherPoint[0]-d,selUnits[e].gatherPoint[1]-c,30,mainContext);
  381. for(e=0;e<users.length;++e)if(b=users[e],!b.dead){mainContext.lineWidth=1.2*outlineWidth;mainContext.strokeStyle=indicatorColor;isOnScreen(b.x-d,b.y-c,b.buildRange)&&(mainContext.save(),mainContext.translate(b.x-d,b.y-c),mainContext.rotate(playerBorderRot),renderDottedCircle(0,0,b.buildRange,mainContext),renderDottedCircle(0,0,b.startSize,mainContext),mainContext.restore());b.spawnProt&&(mainContext.strokeStyle=redColor,mainContext.save(),mainContext.translate(b.x-d,b.y-c),mainContext.rotate(playerBorderRot),
  382. renderDottedCircle(0,0,b.buildRange+140,mainContext),mainContext.restore());for(var m=0;m<users.length;++m)e<m&&!users[m].dead&&(mainContext.strokeStyle=b.spawnProt||users[m].spawnProt?redColor:indicatorColor,playersLinked(b,users[m])&&(isOnScreen(b.x-d,b.y-c,0)||isOnScreen(users[m].x-d,users[m].y-c,0)||isOnScreen((b.x+users[m].x)/2-d,(b.y+users[m].y)/2-c,0))&&(g=UTILS.getDirection(b.x,b.y,users[m].x,users[m].y),renderDottedLine(b.x-(b.buildRange+lanePad+(b.spawnProt?140:0))*MathCOS(g)-d,b.y-(b.buildRange+
  383. lanePad+(b.spawnProt?140:0))*MathSIN(g)-c,users[m].x+(users[m].buildRange+lanePad+(users[m].spawnProt?140:0))*MathCOS(g)-d,users[m].y+(users[m].buildRange+lanePad+(users[m].spawnProt?140:0))*MathSIN(g)-c,mainContext)))}mainContext.strokeStyle=darkColor;mainContext.lineWidth=1.2*outlineWidth;for(e=0;e<units.length;++e)b=units[e],b.layer||(b.onScreen=!1,isOnScreen(b.x-d,b.y-c,b.size)&&(b.onScreen=!0,renderUnit(b.x-d,b.y-c,b.dir,b,playerColors[b.color],mainContext)));for(e=0;e<units.length;++e)b=units[e],
  384. 1==b.layer&&(b.onScreen=!1,isOnScreen(b.x-d,b.y-c,b.size)&&(b.onScreen=!0,renderUnit(b.x-d,b.y-c,b.dir,b,playerColors[b.color],mainContext)));mainContext.fillStyle=bulletColor;for(e=bullets.length-1;0<=e;--e){b=bullets[e];if(b.speed&&(b.x+=b.speed*a*MathCOS(b.dir),b.y+=b.speed*a*MathSIN(b.dir),UTILS.getDistance(b.sX,b.sY,b.x,b.y)>=b.range)){bullets.splice(e,1);continue}isOnScreen(b.x-d,b.y-c,b.size)&&renderCircle(b.x-d,b.y-c,b.size,mainContext)}mainContext.strokeStyle=darkColor;mainContext.lineWidth=
  385. 1.2*outlineWidth;for(e=0;e<users.length;++e)b=users[e],!b.dead&&isOnScreen(b.x-d,b.y-c,b.size)&&(renderPlayer(b,b.x-d,b.y-c,mainContext),"unknown"!=b.name&&(tmpIndx=b.name+"-"+b.size,20<=b.size&&b.nameSpriteIndx!=tmpIndx&&(b.nameSpriteIndx=tmpIndx,b.nameSprite=renderText(b.name,b.size/4)),b.nameSprite&&mainContext.drawImage(b.nameSprite,b.x-d-b.nameSprite.width/2,b.y-c-b.nameSprite.height/2,b.nameSprite.width,b.nameSprite.height)));if(selUnits.length)for(e=selUnits.length-1;0<=e;--e)selUnits[e]&&
  386. 0>units.indexOf(selUnits[e])&&disableSelUnit(e);activeUnit&&renderUnit(h,f,k,activeUnit,playerColors[player.color],mainContext);showSelector&&(mainContext.fillStyle="rgba(255, 255, 255, 0.1)",h=player.x-d+targetDst*MathCOS(targetDir)+camX,f=player.y-c+targetDst*MathSIN(targetDir)+camY,mainContext.fillRect(mouseStartX,mouseStartY,h-mouseStartX,f-mouseStartY));playerBorderRot+=a/5600;hoverUnit?toggleUnitInfo(hoverUnit):activeBase?toggleUnitInfo(activeBase,true):activeUnit?toggleUnitInfo(activeUnit):
  387. 0<selUnits.length?toggleUnitInfo(selUnits[0].info,!0):toggleUnitInfo()}};
  388.  
  389. function renderUnit(a,d,c,b,g,e,k){
  390. var f=b.size*(k?iconSizeMult:1),h=f+":"+b.cloak+":"+b.renderIndex+":"+b.iSize+":"+b.turretIndex+":"+b.shape+":"+g;
  391. if(!unitSprites[h]){var m=document.createElement("canvas"),l=m.getContext("2d");
  392. m.width=2*f+30;m.height=m.width;m.style.width=m.width+"px";
  393. m.style.height=m.height+"px";l.translate(m.width/2,m.height/2);
  394. l.lineWidth=outlineWidth*(k?.9:1.2);l.strokeStyle=darkColor;
  395. l.fillStyle=g;
  396. 4==b.renderIndex?l.fillStyle=turretColor:5==b.renderIndex&&(l.fillStyle=turretColor,renderRect(0,.76*f,1.3*f,f/2.4,l),l.fillStyle=g);b.cloak&&(l.fillStyle=backgroundColor);
  397. "circle"==b.shape?(renderCircle(0,0,f,l),
  398. b.iSize&&(l.fillStyle=turretColor,renderCircle(0,0,f*b.iSize,l))):"triangle"==b.shape?(renderTriangle(0,0,f,l),b.iSize&&(l.fillStyle=turretColor,renderTriangle(0,2,f*b.iSize,l))):"hexagon"==b.shape?(renderAgon(0,0,f,l,6),b.iSize&&(l.fillStyle=turretColor,renderAgon(0,0,f*b.iSize,l,6))):"octagon"==b.shape?(l.rotate(MathPI/8),renderAgon(0,0,.96*f,l,8),b.iSize&&(l.fillStyle=turretColor,renderAgon(0,0,.96*f*b.iSize,l,8))):"pentagon"==b.shape?(l.rotate(-MathPI/2),renderAgon(0,0,1.065*f,l,5),b.iSize&&(l.fillStyle=turretColor,renderAgon(0,0,1.065*f*b.iSize,l,5))):"square"==b.shape?(renderSquare(0,0,f,l),b.iSize&&(l.fillStyle=turretColor,renderSquare(0,0,f*b.iSize,l))):"spike"==b.shape?renderStar(0,0,f,.7*f,l,8):"star"==b.shape&&(f*=1.2,renderStar(0,0,f,.7*f,l,6));
  399. if(1==b.renderIndex)l.fillStyle=turretColor,renderRect(f/2.8,0,f/4,f/1,l),renderRect(-f/2.8,0,f/4,f/1,l);
  400. else if(2==b.renderIndex)l.fillStyle=turretColor,renderRect(f/2.5,f/2.5,f/2.5,f/2.5,l),renderRect(-f/2.5,f/2.5,f/2.5,f/2.5,l),renderRect(f/2.5,-f/2.5,f/2.5,f/2.5,l),renderRect(-f/2.5,-f/2.5,f/2.5,f/2.5,l);
  401. else if(3==b.renderIndex)l.fillStyle=turretColor,l.rotate(MathPI/2),renderRectCircle(0,0,.75*f,f/2.85,3,l),renderCircle(0,0,.5*f,l),l.fillStyle=g;
  402. else if(6==b.renderIndex)l.fillStyle=turretColor,l.rotate(MathPI/2),renderRectCircle(0,0,.7*f,f/4,5,l),l.rotate(-MathPI/2),renderAgon(0,0,.4*f,l,6);
  403. else if(7==b.renderIndex)for(g=0;3>g;++g)l.fillStyle=g?1==g?"#93e86550":"#a2ff6f50":"#89d95f50",renderStar(0, 0, f, .7 * f, l, 7),f *= .55;
  404. else 8==b.renderIndex&&(l.fillStyle=turretColor,renderRectCircle(0,0,.75*f,f/2.85,3,l),renderSquare(0,0,.5*f,l));1!=b.type&&b.turretIndex&&renderTurret(0,0,b.turretIndex,k?iconSizeMult:1,-(MathPI/2),l);
  405. unitSprites[h]=m}f=unitSprites[h];e.save();e.translate(a,d);e.rotate(c+MathPI/2);
  406. e.drawImage(f,-(f.width/2),-(f.height/2),f.width,f.height);
  407. 1==b.type&&b.turretIndex&&renderTurret(0,0,b.turretIndex,k?iconSizeMult:1,b.turRot-MathPI/2-c,e);e.restore()};
  408. console.log
  409. renderText=function(a, d) { var c = document.createElement("canvas") , b = c.getContext("2d"); b.font = d + "px regularF"; var g = b.measureText(a); c.width = g.width + 20; c.height = 2 * d; b.translate(c.width / 2, c.height / 2); b.font = d + "px regularF"; b.fillStyle = "#fff"; b.textBaseline = "middle"; b.textAlign = "center"; b.strokeStyle = darkColor; b.lineWidth = outlineWidth; b.strokeText(a, 0, 0); b.fillText(a, 0, 0); return c }
  410. //Bot de Guia//
  411. cid = UTILS.getUniqueID();
  412. localStorage.setItem("cid",cid);
  413. //tropjooin//
  414. var joinEnabled = true;
  415. moveSelUnits = function (){
  416. if (selUnits.length) {
  417. var a = player.x + targetDst * MathCOS(targetDir) + camX
  418. , d = player.y + targetDst * MathSIN(targetDir) + camY
  419. , c = 1;
  420. if (c && 1 < selUnits.length)
  421. for (var b = 0; b < users.length; ++b)
  422. if (UTILS.pointInCircle(a, d, users[b].x, users[b].y, users[b].size)) {
  423. c = 0;
  424. break
  425. }
  426. var g = -1;
  427. if (c)
  428. for (b = 0; b < units.length; ++b)
  429. if (units[b].onScreen && units[b].owner != player.sid && UTILS.pointInCircle(a, d, units[b].x, units[b].y, units[b].size)) {
  430. c = 0;
  431. g = units[b].id;
  432. break
  433. }
  434. 1 == selUnits.length && (c = 0);
  435. var e = [];
  436. for (b = 0; b < selUnits.length; ++b)
  437. e.push(selUnits[b].id);
  438. socket.emit("5", UTILS.roundToTwo(a), UTILS.roundToTwo(d), e,joinEnabled?(0):(c),g)
  439. for(var i=0; i<window.sockets.length; i++){sockets[i].emit("5", UTILS.roundToTwo(a), UTILS.roundToTwo(d), e,joinEnabled?(0):(c),g)}
  440. }
  441. }
  442. // CSS //
  443. var css = document.createElement("style")
  444. css.innerText = `
  445. html, body {
  446. width: 100%;
  447. height: 100%;
  448. -webkit-touch-callout: none;
  449. -webkit-user-select: none;
  450. -khtml-user-select: none;
  451. -moz-user-select: none;
  452. -ms-user-select: none;
  453. user-select: none;
  454. }
  455.  
  456. body {
  457. background-color: #ffffff;
  458. margin: 0;
  459. overflow: hidden;
  460. }
  461.  
  462. canvas {
  463. image-rendering: optimizeSpeed;
  464. image-rendering: -moz-crisp-edges;
  465. image-rendering: -webkit-optimize-contrast;
  466. image-rendering: -o-crisp-edges;
  467. image-rendering: crisp-edges;
  468. -ms-interpolation-mode: nearest-neighbor;
  469. }
  470.  
  471. .grecaptcha-badge {
  472. visibility: hidden !important;
  473. }
  474.  
  475. .material-icons {
  476.  
  477. }
  478.  
  479. a:link {
  480. color: #60c1ff;
  481. text-decoration: none;
  482. }
  483.  
  484. a:visited {
  485. color: #60c1ff;
  486. }
  487.  
  488. a:hover {
  489. color: #ff6060;
  490. }
  491.  
  492. .spanLink {
  493. cursor: pointer;
  494. color: #60c1ff;
  495. }
  496.  
  497. .spanLink:hover {
  498. color: #ff6060;
  499. }
  500.  
  501. .deadLink {
  502. cursor: auto;
  503. color: #ffffff;
  504. }
  505.  
  506. .deadLink:hover {
  507. color: #ffffff;
  508. }
  509.  
  510. .horizontalCWrapper {
  511. width: 100%;
  512. text-align: center;
  513. }
  514.  
  515. .centerContent {
  516. text-align: center;
  517. width: 100%;
  518. }
  519.  
  520. #twitterFollBt {
  521. z-index: 200;
  522. }
  523.  
  524. #shareContainer {
  525. padding: 5px;
  526. width: 100%;
  527. position: absolute;
  528. top: 10px;
  529. left: 10px;
  530. position: absolute;
  531. z-index: 200;
  532. }
  533.  
  534. #darkener {
  535. display: block;
  536. position: absolute;
  537. width: 100%;
  538. height: 100%;
  539. background-color: rgba(12,0,17, 1);
  540. }
  541.  
  542. #menuContainer {
  543. width: 100%;
  544. height: 100%;
  545. display: flex;
  546. position: absolute;
  547. top: 10px;
  548. z-index: 100;
  549. align-items: center;
  550. text-align: center;
  551. }
  552.  
  553. #optionsContainer {
  554. padding: 10px;
  555. position: absolute;
  556. right: 10px;
  557. top: 0px;
  558. font-family: 'regularF';
  559. text-align: right;
  560. color: #fff;
  561. z-index: 100;
  562. font-size: 20px;
  563. }
  564.  
  565. #lobbyKey {
  566. font-size: 20px;
  567. }
  568.  
  569. #smallAdContainer {
  570. position: absolute;
  571. right: 14px;
  572. bottom: 44px;
  573. z-index: 100;
  574. border: dashed 6px rgba(35, 35, 35, 0.1);
  575. }
  576.  
  577. #twitterFollBt {
  578. position: absolute;
  579. left: 15px;
  580. bottom: 40px;
  581. }
  582.  
  583. #followText {
  584. position: absolute;
  585. left: 15px;
  586. bottom: 75px;
  587. color: #fff;
  588. font-size: 28px;
  589. font-family: 'regularF';
  590. }
  591.  
  592. #youtuberOf {
  593. z-index: 100;
  594. position: absolute;
  595. top: 10px;
  596. left: 10px;
  597. color: #fff;
  598. font-size: 20px;
  599. font-family: 'regularF';
  600. }
  601.  
  602. #youtubeContainer {
  603. margin-top: 5px;
  604. }
  605.  
  606. #mainCanvas {
  607. position: absolute;
  608. width: 100%;
  609. height: 100%;
  610. }
  611.  
  612. #gameUiContainer {
  613. position: absolute;
  614. width: 100%;
  615. height: 100%;
  616. display: none;
  617. pointer-events: none;
  618. }
  619.  
  620. #adContainer {
  621. width: 100%;
  622. text-align: center;
  623. margin-top: 20px;
  624. display: inline-block;
  625. }
  626.  
  627. #adHolder {
  628. display: inline-block;
  629. border: dashed 6px rgba(35, 35, 35, 0.1);
  630. }
  631.  
  632. #leaderboardContainer {
  633. position: absolute;
  634. top: 10px;
  635. right: 10px;
  636. padding: 10px;
  637. background-color:rgba(128,0,128, 0.1);
  638. font-family: 'regularF';
  639. font-size: 30px;
  640. border-radius: 4px;
  641. color: #fff;
  642. }
  643.  
  644. .leaderboardItem {
  645. margin-top: 2px;
  646. color: rgba(128,0,128, 0.1);
  647. font-family: 'regularF';
  648. font-size: 17px;
  649. }
  650.  
  651. .leaderYou {
  652. color: #fff;
  653. display: inline-block;
  654. max-width: 150px;
  655. margin-left: 10px;
  656. white-space: nowrap;
  657. overflow: hidden;
  658. text-overflow: ellipsis;
  659. -o-text-overflow: ellipsis;
  660. }
  661.  
  662. .leader {
  663. color: rgba(255,255,255, 0.6);
  664. display: inline-block;
  665. max-width: 150px;
  666. margin-left: 10px;
  667. white-space: nowrap;
  668. overflow: hidden;
  669. text-overflow: ellipsis;
  670. -o-text-overflow: ellipsis;
  671. }
  672.  
  673. .scoreText {
  674. color: #c6c6c6;
  675. text-align: left;
  676. float: right;
  677. margin-left: 10px;
  678. display: inline-block;
  679. }
  680.  
  681. #statContainer {
  682. position: absolute;
  683. bottom: 10px;
  684. left: 10px;
  685. color: #080475;
  686. }
  687.  
  688. #scoreContainer {
  689. display: inline-block;
  690. padding: 10px;
  691. background-color: rgba(171, 0, 171, 0.1);
  692. font-family: 'regularF';
  693. font-size: 20px;
  694. border-radius: 4px;
  695. color: #55178B;
  696. }
  697.  
  698. #unitList {
  699. text-align: center;
  700. width: 100%;
  701. position: absolute;
  702. bottom: 6px;
  703. }
  704.  
  705. .unitItem {
  706. pointer-events: all;
  707. margin-left: 10px;
  708. position: relative;
  709. display: inline-block;
  710. width: 65px;
  711. height: 65px;
  712. background-color: rgba(128,0,128, 0.1);
  713. border-radius: 4px;
  714. cursor: pointer;
  715. }
  716.  
  717. .unitItemA {
  718. pointer-events: all;
  719. margin-left: 10px;
  720. position: relative;
  721. display: inline-block;
  722. width: 65px;
  723. height: 65px;
  724. background-color: rgba(128,0,128, 0.1);
  725. border-radius: 4px;
  726. cursor: pointer;
  727. }
  728.  
  729. .unitItem:hover {
  730. background-color: rgba(128,0,128, 0.1);
  731. }
  732.  
  733. #unitInfoContainer {
  734. padding: 10px;
  735. display: none;
  736. }
  737.  
  738. .upgradeInfo {
  739. margin-top: 10px;
  740. padding: 10px;
  741. background-color: rgba(128,0,128, 0.1);
  742. border-radius: 4px;
  743. font-family: 'regularF';
  744. max-width: 200px;
  745. overflow: auto;
  746. cursor: pointer;
  747. pointer-events: all;
  748. }
  749.  
  750. .upgradeInfo:hover {
  751. background-color: rgba(128,0,128, 0.1);
  752. }
  753.  
  754. .unitInfo {
  755. padding: 10px;
  756. background-color: rgba(128,0,128, 0.1);
  757. border-radius: 4px;
  758. font-family: 'regularF';
  759. max-width: 200px;
  760. overflow: auto;
  761. }
  762.  
  763. .unitInfoName {
  764. font-size: 22px;
  765. color: #AB00AB;
  766. }
  767.  
  768. .unitInfoCost {
  769. font-size: 16px;
  770. color: #AB00AB;
  771. }
  772.  
  773. .unitInfoDesc {
  774. font-size: 16px;
  775. color: #AB00AB;
  776. }
  777.  
  778. .unitInfoType {
  779. padding-top: 5px;
  780. font-size: 16px;
  781. color: #AB00AB;
  782. float: left;
  783. }
  784.  
  785. .unitInfoLimit {
  786. display: inline-block;
  787. float: right;
  788. text-align: right;
  789. padding-top: 5px;
  790. font-size: 16px;
  791. color: #AB00AB;
  792. }
  793.  
  794. #unitInfoUpgrades {
  795.  
  796. }
  797.  
  798. #chatBox {
  799. position: absolute;
  800. bottom: 10px;
  801. right: 10px;
  802. width: 250px;
  803. overflow: hidden;
  804. }
  805.  
  806. #chatListWrapper {
  807. background-color: rgba(128,0,128, 0.1);
  808. border-radius: 9px 9px 0px 0px;
  809. height: 215px;
  810. }
  811.  
  812. .chatText {
  813. color: rgba(255, 255, 255, 0.65);
  814. }
  815.  
  816. #chatList {
  817. width: 100%;
  818. font-family: 'regularF';
  819. padding: 8px;
  820. margin: 0;
  821. list-style: none;
  822. box-sizing: border-box;
  823. color: #fff;
  824. overflow: hidden;
  825. word-wrap: break-word;
  826. position: absolute;
  827. bottom: 30px;
  828. font-size: 16px;
  829. line-height: 23px
  830. }
  831.  
  832. #chatInput {
  833. background-color: rgba(128,0,128, 0.1);
  834. font-family: 'regularF';
  835. font-size: 16px;
  836. padding: 5px;
  837. color: #fff;
  838. width: 100%;
  839. pointer-events: all;
  840. outline: none;
  841. border: 0;
  842. box-sizing: border-box;
  843. border-radius: 8px 8px 8px 8px;
  844. }
  845.  
  846. #sellButton {
  847. display: none;
  848. position: absolute;
  849. bottom: 65px;
  850. left: 10px;
  851. background-color: rgba(128,0,128, 0.1);
  852. border-radius: 4px;
  853. font-family: 'regularF';
  854. font-size: 20px;
  855. color: #55178B;
  856. cursor: pointer;
  857. padding: 10px;
  858. pointer-events: all;
  859. }
  860.  
  861. #sellButton:hover {
  862. background-color: rgba(128,0,128, 0.1);
  863. color: #55178B;
  864. }
  865.  
  866. .greyMenuText {
  867. color: rgba(255, 255, 255, 0.5);
  868.  
  869. }
  870.  
  871. .whiteText {
  872. color: #fff;
  873. }
  874.  
  875. #userNameInput {
  876. font-family: 'regularF';
  877. font-size: 26px;
  878. padding: 6px;
  879. padding-left: 12px;
  880. border: none;
  881. border-radius: 4px;
  882. margin-left: 10px;
  883. color: #E0C5FC;
  884. background-color: #510770;
  885. }
  886.  
  887. #enterGameButton {
  888. font-family: 'regularF';
  889. font-size: 26px;
  890. padding: 5px;
  891. color: #E0C5FC;
  892. background-color: #510770;
  893. border: none;
  894. cursor: pointer;
  895. margin-left: 10px;
  896. border-radius: 4px;
  897. }
  898.  
  899. #enterGameButton:hover {
  900. background-color: #f25b5b;
  901. }
  902.  
  903. #loadingContainer {
  904. display: none;
  905. font-family: 'regularF';
  906. font-size: 26px;
  907. padding: 6px;
  908. color: #ffffff;
  909. }
  910.  
  911. #gameTitle {
  912. color: #E0C5FC;
  913. font-size: 130px;
  914. width: 100%;
  915. text-align: center;
  916. font-family: 'regularF';
  917. }
  918.  
  919. #instructionsText {
  920. font-size: 21px;
  921. width: 400px;
  922. text-align: center;
  923. font-family: 'regularF';
  924. margin-top: 20px;
  925. display: inline-block;
  926. }
  927.  
  928. #creatorLink {
  929. z-index: 1000;
  930. position: absolute;
  931. bottom: 0;
  932. text-align: center;
  933. font-size: 20px;
  934. font-family: 'regularF';
  935. color: rgba(255, 255, 255, 0.9);
  936. padding: 5px;
  937. margin-left: 10px;
  938. margin-bottom: 5px;
  939. padding: 5px;
  940. }
  941.  
  942. #infoLinks {
  943. z-index: 0;
  944. position: absolute;
  945. bottom: 0;
  946. right: 0;
  947. text-align: center;
  948. font-size: 0px;
  949. font-family: 'regularF';
  950. color: rgba(255, 255, 255, 0.9);
  951. padding: 5px;
  952. margin-right: 0px;
  953. margin-bottom: 0px;
  954. }
  955.  
  956. #infoLinks2 {
  957. z-index: 0;
  958. position: absolute;
  959. top: 0;
  960. right: 0;
  961. text-align: center;
  962. font-size: 0px;
  963. font-family: 'regularF';
  964. color: rgba(255, 255, 255, 0.9);
  965. padding: 0px;
  966. margin-right: 0px;
  967. margin-bottom: 0px;
  968. }
  969.  
  970. #skinInfo {
  971. position: absolute;
  972. display: none;
  973. text-align: left;
  974. width: 110px;
  975. margin-left: -145px;
  976. padding: 6px;
  977. padding-top: 13px;
  978. padding-left: 16px;
  979. color: #fff;
  980. border-radius: 4px;
  981. background-color: rgba(0, 0, 0, 0.4);
  982. font-family: 'regularF';
  983. font-size: 5px;
  984. }
  985.  
  986. #skinName {
  987. padding: 4px;
  988. padding-left: 0px;
  989. color: rgb(255, 255, 255);
  990. font-size: 22px;
  991. }
  992.  
  993. #skinIcon {
  994. width: 100px;
  995. height: 100px;
  996. font-size: 15px;
  997. }
  998.  
  999. #skinSelector {
  1000. display: none;
  1001. font-family: 'regularF';
  1002. font-size: 26px;
  1003. padding: 6px;
  1004. padding-left: 12px;
  1005. padding-right: 12px;
  1006. border: none;
  1007. border-radius: 4px;
  1008. color: #E0C5FC;
  1009. background-color: #510770;
  1010. cursor: pointer;
  1011. }
  1012.  
  1013. #skinSelector:hover {
  1014. background-color: #7a9de7;
  1015. }`
  1016. document.head.appendChild(css)