Advertisement
Golosomie

datmod v2

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