Advertisement
Golosomie

datmod v4

Mar 26th, 2015
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.51 KB | None | 0 0
  1. /*
  2.  
  3. A GAME Mod by Hitler
  4.  
  5. javascript:var s=document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='//pastebin.com/raw.php?i=HALDOL';void(0);
  6.  
  7. */
  8.  
  9. 'use strict';
  10. function Mod(){
  11. jQuery.fn.outerHTML = function(s) { return s ? this.before(s).remove() : jQuery("<p>").append(this.eq(0).clone()).html(); };
  12. document.getElementById("employment").style['margin-top'] = "0px";
  13. document.getElementsByName("items_holder")[0].style['margin-bottom'] = "0px";
  14. document.getElementById("vault_container").style.display = "none";
  15. document.getElementById("vault_display").style.display = "none";
  16. document.getElementById("upgrades_container").style.display = "none";
  17. document.getElementById("money_display").style.display = "none";
  18. $('div[name="characterIcon"]')[0].style.display="none";
  19. $('div[name="characterStats"]')[0].style.display="none";
  20. $('div[name="players"]')[0].style.display="none";
  21. $('h3:contains("Capacity")')[0].style.display="none";
  22. this.oldOPM = 0;
  23. this.buystr = "";
  24. this.refreshstr = "";
  25. this.RBstate = 0; // 2 = RBcd 1 = RBwait 0 = RBgo 3 = lolwas
  26. this.workerID = 88;
  27. this.allsteves = false;
  28. this.c = 1000.9072642762284196547144754316;
  29. this.limits= new Array(1000,900,800,700,600,600);
  30. this.price= new Array(3000,15000,50000,200000,5000000,15000000);
  31. this.diffs= new Array(6,29,28,0,91,119);
  32. this.oldScnts = 0;
  33. this.oldSaveDiff = 0;
  34. this.cWorker = true;
  35. this.GBstate = 0; // 0 = GBwait 1 = GBopen 2=GBlobby 3=GBrunning
  36. this.timers = {
  37. update: false,
  38. lastUpdate: +new Date,
  39. halfSecondUpdate: 0,
  40. startTimer: +new Date,
  41. };
  42. // Updater
  43. this.timers.update = setInterval(function(){ this.update(); }.bind(this), 100);
  44. // Elements
  45. this.elements = {
  46. aboutBox: $('<div style="float:left;width:150px"><h4><div style="display:inline-block;margin-left:3px;vertical-align:top;"></div><div id="mod"></div></h4></div>'),
  47. };
  48. $('<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js">').appendTo('body')
  49. $('#gamecontainer').prepend(this.elements.aboutBox);
  50. }
  51.  
  52.  
  53. Mod.prototype.update = function(){
  54. if("undefined" === typeof _) return;
  55. var delta = (+new Date - this.timers.lastUpdate);
  56. this.timers.halfSecondUpdate += delta;
  57. var timeInfo = $('span[name="time"]').text().split(" ");
  58. if(timeInfo[1].indexOf('second')>-1){
  59. var lastSave = parseInt(timeInfo[0]);
  60. } else {
  61. var lastSave = 61*parseInt(timeInfo[0]);
  62. }
  63. this.oldSaveDiff = lastSave;
  64. if(this.timers.halfSecondUpdate > 500){
  65. this.timers.halfSecondUpdate = 0;
  66. if((lastSave>180)&&((+new Date-this.timers.startTimer)>90000)){
  67. this.refreshstr = "REFRESH";
  68. }
  69. this.updateStats();
  70. this.updateTitle();
  71. }
  72.  
  73. this.timers.lastUpdate = +new Date;
  74. }
  75.  
  76. Mod.prototype.updateStats = function(){
  77. var efffact = 1;
  78. for(var i = 0; i < $('span[name="item_details"]').length; i++){
  79. if(($('span[name="item_details"]')[i].innerHTML.indexOf("Research Boost")>-1) && ($('span[name="item_details"]')[i].innerHTML.indexOf("activate")==-1)) {
  80. efffact *= 2;
  81. }else if(($('span[name="item_details"]')[i].innerHTML.indexOf("Diminishing Research")>-1) && ($('span[name="item_details"]')[i].innerHTML.indexOf("activate")==-1)) {
  82. efffact *= 2;
  83. }
  84. }
  85. var scnts = parseInt($('span[name="scientists_owned"]').text())*efffact;
  86. var ropm = parseInt($('td[name="wopmtimesresearch"]').text().replace(/,/g,""));
  87. var scientistTime = parseInt($('span[name="scientistTime"]').text());
  88. var bossCurrency = parseInt($('td[id="bc_display"]').text().replace(/,/g,""));
  89. //var money = parseInt($('td[id="money_display"]').text().replace(/,/g,'').replace('$',''));
  90. //var
  91. if((ropm != this.oldOPM) || (scnts != this.oldScnts)){
  92. var fontstr = "";
  93. var fontstr2 = "";
  94. if(efffact>1){
  95. fontstr = "<font color='#00FF00'>";
  96. fontstr2 = "</font>";
  97. }
  98. var eff = this.c*ropm/(scientistTime*scnts);
  99. var rtime = Math.floor((Math.floor(scientistTime * scnts * Math.ceil(eff) / this.c) - ropm) * Math.ceil(eff) / 60);
  100. //var ttime = Math.floor(100*(Math.pow(Math.ceil(eff),2)*27.5/this.c))/100;
  101. var buy = Math.ceil((Math.ceil(scnts*(eff/Math.floor(eff)-1)) - bossCurrency)/efffact);
  102. var sas = this.c/(Math.floor(eff)*Math.ceil(eff)*scientistTime*efffact);
  103. var suus = (sas>=0.75) ? "NEVAR!" : Math.ceil(10*buy/(3600*(0.75-sas)))/10+"h"
  104. //var rmoney = Math.ceil(2000000000*Math.pow(1.0005,game.scientists)*(Math.pow(1.0005,buy)-1)-game.money);
  105. if(buy<1){
  106. this.buystr = ">";
  107. document.getElementById("mod").innerHTML = "<br><br>" + fontstr + "eff: " + Math.round(100000*eff)/100000 + "s<br>" + fontstr2 + "<font color='#FF0000'>" + rtime + "min<br>KAUF MIT BC</font>";
  108. //}else if(rmoney<1){
  109. // this.buystr = "<";
  110. // document.getElementById("mod").innerHTML = "<br><br>" + fontstr + "eff: " + Math.round(100000*eff)/100000 + "s<br>" + fontstr2 + "<font color='#FF0000'>" + rtime + "min<br>"+buy+"\u262d - "+ suus + "<br>KAUF MIT $$$</font>";
  111. }else{
  112. this.buystr = "";
  113. document.getElementById("mod").innerHTML = "<br><br>" + fontstr + "eff: " + Math.round(100000*eff)/100000 + "s<br>" + fontstr2 + rtime + "min<br>"+buy+"\u262d - "+suus;
  114. }
  115. this.oldScnts = scnts;
  116. this.oldOPM = ropm;
  117. }
  118. }
  119.  
  120. Mod.prototype.updateTitle = function(){
  121. //RB
  122. if($('span[name="timer"][style="font-size: 19px; display: inline;"').length==1){
  123. this.RBstate = 2;
  124. } else if((this.RBstate==2)&&($('div[id="popup"]:contains("SCENARIO")').length==1)) {
  125. this.RBstate = 3;
  126. } else if(((this.RBstate==0)&&($('div[id="popup"]:contains("SCENARIO")').length==1))||((document.getElementById("mining_container").style.display!=="none")&&($('body')[0].style["background-color"]=="rgb(15, 39, 41)"))) {
  127. this.RBstate = 1;
  128. } else if((this.RBstate==2)||(($('div[id="popup"]:contains("SCENARIO")').length==0)&&(this.RBstate==3))) {
  129. this.RBstate = 0;
  130. }
  131. var RBstr = '';
  132. if($('body')[0].style["background-color"]!=="rgb(15, 39, 41)"){
  133. RBstr = "PO";
  134. }else if(this.RBstate==2){
  135. RBstr = "Rc";
  136. } else if(this.RBstate==1){
  137. RBstr = "Rw";
  138. } else if((this.RBstate==0)||(this.RBstate==3)){
  139. RBstr = "Rg";
  140. }
  141. //GB
  142. if($('img[name="globalBossImg"]:visible').length==1){
  143. this.GBstate = 3;
  144. } else if ($('img[src="game/img/icons/globalBoss_big.png"]:visible').length==1){
  145. this.GBstate = 2;
  146. } else if (($('span[name="timeRemaining"]').text()==("JOIN"||"LEAVE"))&&(this.GBstate!==3)){
  147. this.GBstate = 1;
  148. } else if ($('span[name="timeRemaining"]').text().indexOf("min")>-1){
  149. this.GBstate = 0;
  150. }
  151. var GBstr = '';
  152. if(this.GBstate==0){
  153. GBstr = 'Gw';
  154. }else if(this.GBstate==1){
  155. GBstr = 'Go';
  156. }else if(this.GBstate==2){
  157. GBstr = 'Gl';
  158. }else if(this.GBstate==3){
  159. GBstr = 'Gr';
  160. }
  161. //Inventory
  162. var ItemString = '';
  163. for(var i = 0; i < $('span[name="item_details"]').length; i++){
  164. var activated = ($('span[name="item_details"]')[i].innerHTML.indexOf("activate")==-1);
  165. if($('span[name="item_details"]')[i].innerHTML.indexOf("Ring of Efficiency")>-1) {
  166. ItemString += activated ? ':' : '.';
  167. }else if($('span[name="item_details"]')[i].innerHTML.indexOf("Cheap Labor")>-1) {
  168. ItemString += activated ? 'I' : 'i';
  169. }else if($('span[name="item_details"]')[i].innerHTML.indexOf("Double XP")>-1) {
  170. ItemString += '%';
  171. }else if($('span[name="item_details"]')[i].innerHTML.indexOf("Attack Boost")>-1) {
  172. ItemString += '&';
  173. }else if($('span[name="item_details"]')[i].innerHTML.indexOf("Godspear Fragment")>-1) {
  174. ItemString += activated ? ',' : '*';
  175. }else{
  176. ItemString += activated ? ',' : '!';
  177. }
  178. }
  179. //Workers
  180. var workstr = '';
  181. if(!this.allsteves){
  182. if(this.cWorker){
  183. var actualWorkers = new Array(0,0,0,0,0,0);
  184. for(var i = 0; i<6; i++){
  185. actualWorkers[i]=parseInt($('span[name="owned"]')[i].innerHTML.split(" ")[0])+this.diffs[i];
  186. }
  187. var smallest = 1337;
  188. for(var i = 5; i>=0; i--){
  189. if((actualWorkers[i]<smallest)&&(parseInt($('span[name="owned"]')[i].innerHTML.split(" ")[0])<this.limits[i])){
  190. smallest = actualWorkers[i];
  191. this.workerID = i;
  192. }
  193. }
  194. if(smallest==1337){
  195. this.allsteves=true;
  196. }
  197. }
  198. if(!this.allsteves){
  199. this.cWorker = false;
  200. if(parseInt($('td[id="money_display"]').text().replace(/,/g,'').replace('$',''))>=(this.price[this.workerID] * (Math.pow(1.025, parseInt($('span[name="owned"]')[i].innerHTML.split(" ")[0]))))){
  201. this.cWorker = true;
  202. workstr = "#"+this.workerID;
  203. }else if(parseInt($('td[id="money_display"]').text().replace(/,/g,'').replace('$',''))>=(0.5 * this.price[this.workerID] * (Math.pow(1.025, parseInt($('span[name="owned"]')[i].innerHTML.split(" ")[0]))))){
  204. this.cWorker = true;
  205. workstr = "$"+this.workerID;
  206. }
  207. }
  208. }
  209. //popup
  210. var popupstr = '';
  211. if($('div[id="popup"]:visible').length==1){
  212. if($('div[id="popup"]')[0].innerHTML.indexOf("Are you sure you wish to summon a boss")>-1) { //Summon ->
  213. popupstr = '-0';
  214. } else if($('div[id="popup"]')[0].innerHTML.indexOf("Below is your scenario for this random boss")>-1) { //Scenario ->
  215. if($('div[id="popup"]')[0].innerHTML.indexOf("allowed")==-1){
  216. popupstr = '-1';
  217. }else{
  218. popupstr = '-2';
  219. }
  220. } else if($('div[id="popup"]')[0].innerHTML.indexOf("WHOOPS")>-1) { //whoops ->
  221. popupstr = '-3';
  222. } else if($('div[id="popup"]')[0].innerHTML.indexOf("You won the battle")>-1) { //whoops ->
  223. popupstr = '-+';
  224. } else if($('div[id="popup"]')[0].innerHTML.indexOf("You have successfully beat this random boss.")>-1) { //RBend ->
  225. if($('span[class="popup_item"]').length>0){
  226. popupstr = '-4';
  227. }else{
  228. popupstr = '-5';
  229. }
  230. } else if($('div[id="popup"]')[0].innerHTML.indexOf("You have successfully completed the event.")>-1) { //GBend ->
  231. if($('span[class="popup_item"]').length>0){
  232. popupstr = '-6';
  233. }else{
  234. popupstr = '-7';
  235. }
  236. } else if($('div[id="popup"]')[0].innerHTML.indexOf("Are you sure you wish to activate the item")>-1) { //ActivateItem ->
  237. popupstr = '-8';
  238. } else if(($('div[id="popup"]')[0].innerHTML.indexOf("Failed! The boss was not killed.")>-1)||($('div[id="popup"]')[0].innerHTML.indexOf("You cannot join the event lobby")>-1)) { //GBfail ->
  239. popupstr = '-9';
  240. }
  241. }
  242. window.document.title = ItemString + "|" + this.refreshstr + workstr + this.buystr + popupstr + GBstr + RBstr + '| A GAME';
  243. }
  244. Mod.prototype.terminate = function(){
  245. _.each(this.elements, function(element){
  246. if(_.isArray(element)){
  247. _.each(element, function(el){ el.remove(); });
  248. }else{
  249. element.remove();
  250. }
  251. });
  252. clearInterval(this.timers.update);
  253. window.mod = undefined;
  254. }
  255.  
  256. // Start
  257. if(window.mod) window.mod.terminate();
  258. window.mod = new Mod();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement