Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 KB | None | 0 0
  1. javascript: /* @name: Rooftochten @author: Warre @new editor: Justin @description: Stuur je rooftochten snel en slim */
  2.  
  3. var $content = $('#scavenge_screen');
  4. if ($content.length > 0) {
  5.  
  6. $.get('game.php?screen=overview', function(html) {
  7. var bonus = 0;
  8. $(html).find('#show_effects').find('table').first().find('tr:contains("buit")').each(function() {
  9. bonus += parseInt($(this).text().match(/\d+/));
  10. });
  11. console.log(bonus);
  12. var $btns1 = $content.find('.unlock-button').not('.btn-disabled');
  13. var $popup = $('.scavenge-option-unlock-dialog');
  14. var $warn = $popup.find('.costs').find('.warn');
  15. var $cd = $('.unlock-countdown');
  16.  
  17. if ($btns1.length == 0 || ($popup.length > 0 && $warn.length > 0) || $cd.length > 0) {
  18.  
  19. if (localStorage.getItem('date_rooftochten'+game_data.player.name + game_data.world) == null) {
  20. function strpad00(s) {
  21. s = s + '';
  22. if (s.length === 1) s = '0' + s;
  23. return s;
  24. };
  25.  
  26. var now = new Date();
  27. var currentDate_popup = now.getFullYear() + "-" + strpad00(now.getMonth() + 1) + "-" + strpad00(now.getDate()) + " " + strpad00(now.getHours()) + ":00:00";
  28. console.log(currentDate_popup);
  29.  
  30. var date_rooftochten = prompt('Voer gewenste rooftochten terugkomst in \n JJJJ-MM-DD HH:MM:SS', currentDate_popup)
  31. if (!(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/.test(date_rooftochten))) {
  32. alert('Geen geldige datum en tijd, probeer het opnieuw');
  33. clear();
  34. } else {
  35. var date_to_timestamp = new Date(date_rooftochten).getTime();
  36. localStorage.setItem('date_rooftochten'+game_data.player.name + game_data.world, date_to_timestamp);
  37. }
  38. };
  39. var max_send_time = 43200; // 12 uur in secondes
  40. const countDownDate = localStorage.getItem('date_rooftochten'+game_data.player.name + game_data.world);
  41. var distance1 = 0;
  42. var distance = (countDownDate - Date.now()) / 1000;
  43. console.log(distance);
  44. if (distance < 1800) {
  45. alert('De minimale rooftochten loop tijd is 30 minutten'+game_data.player.name + game_data.world);
  46. clear();
  47. };
  48. if (distance > max_send_time) { // 2 uur
  49. if (localStorage.getItem('max_rooftochten_time'+game_data.player.name + game_data.world) == null) {
  50. var roof_hour = distance / 60 / 60;
  51. var max_rooftochten_time = prompt('Weet je zeker dat je ' + (Math.round(roof_hour * 10) / 10) + ' uur wilt roven ? \n \n Voer ja of nee/ in:', 'nee');
  52. if (/(ja|yes)/.test(max_rooftochten_time.toLowerCase())) {
  53. localStorage.setItem('max_rooftochten_time'+game_data.player.name + game_data.world, countDownDate);
  54. } else {
  55. clear();
  56. };
  57. } else {
  58. if (localStorage.getItem('max_rooftochten_time'+game_data.player.name + game_data.world) !== countDownDate) {
  59. clear();
  60. };
  61. };
  62. };
  63. if ((distance > 1800) && (distance < max_send_time) || (localStorage.getItem('max_rooftochten_time'+game_data.player.name + game_data.world) !== null)) {
  64. distance1 = distance
  65. };
  66.  
  67. function clear() {
  68. localStorage.removeItem('date_rooftochten'+game_data.player.name + game_data.world);
  69. localStorage.removeItem('max_rooftochten_time'+game_data.player.name + game_data.world);
  70. location.reload()
  71. };
  72. // De eenheden die gebruikt mogen worden om te versturen met de nodige informatie (haul = hoe veel gs een eenheid kan dragen, type = off / def)
  73. var units = {
  74. 'spear': {'haul': 25, 'type': 'def'},
  75. 'sword': {'haul': 15, 'type': 'def'},
  76. 'axe': {'haul': 10, 'type': 'off'},
  77. 'archer': {'haul': 10, 'type': 'def'},
  78. 'marcher': {'haul': 50, 'type': 'off'},
  79. 'light': {'haul': 80, 'type': 'off'},
  80. 'heavy': {'haul': 50, 'type': 'def'}
  81. };
  82. var $btns = $content.find('.btn-default').not('.btn-disabled, .unlock-button');
  83. var haul = 0;
  84. var type = {'off': 0, 'def': 0};
  85. if (bonus > 0) for (var prop in units) units[prop].haul = (units[prop].haul + (units[prop].haul /100 * bonus));
  86. for (var prop in units) {
  87. var amount = parseInt($content.find('.units-entry-all[data-unit="' + prop + '"]').text().match(/\d+/));
  88. haul = haul + parseInt(amount * units[prop].haul);
  89. type[units[prop].type] = type[units[prop].type] + amount;
  90. }
  91. if ($btns.length > 0 && haul > 0) {
  92. var $btn = $btns.last();
  93. var current = $btn.closest('.scavenge-option').find('.title').text().trim();
  94. var scavengeObject = JSON.parse($('html').find('script:contains("ScavengeScreen")').html().match(/\{.*\:\{.*\:.*\}\}/g)[1]);
  95. var scavengeIndex = {
  96. 'Flegmatische Fielt': '1',
  97. 'Bescheiden Bandieten': '2',
  98. 'Slimme Speurders': '3',
  99. 'Reuze Rovers': '4'
  100. };
  101. var scavangeInfo = scavengeObject[scavengeIndex[current]];
  102. var troop_type = (type.off > type.def) ? 'off' : 'def';
  103. var loot = Math.pow(Math.pow(((distance1 / scavangeInfo.duration_factor) - scavangeInfo.duration_initial_seconds), (1 / scavangeInfo.duration_exponent)) / 100, 1 / 2) / scavangeInfo.loot_factor;
  104. var send = 0;
  105. for (var prop in units) {
  106. var ui = $('.unitsInput[name="' + prop + '"]');
  107. var needed = Math.round(loot / units[prop].haul);
  108. var max = parseInt($content.find('.units-entry-all[data-unit="' + prop + '"]').text().match(/\d+/));
  109. if (needed > max) {
  110. ui.val(max).trigger('change');
  111. loot = loot - (max * units[prop].haul);
  112. send = send + max;
  113. } else {
  114. ui.val(needed).trigger('change');
  115. send = send + needed;
  116. break;
  117. }
  118. }
  119. if (send >= 10) {
  120. $btn.trigger('click');
  121. } else {
  122.  
  123. $('.arrowRight, .groupRight').trigger('click');
  124. }
  125. } else {
  126. $('.arrowRight, .groupRight').trigger('click');
  127. }
  128. } else {
  129. if ($popup.length > 0) {
  130. $popup.find('a').last().trigger('click');
  131. } else {
  132. $btns1.first().trigger('click');
  133. }
  134. }
  135. });
  136.  
  137. } else {
  138. if (game_data.screen == 'settings') {
  139. var a = '<tr><td><a href="#"id="Delete" style="color:red;">Delete Rooftochten</a></td></tr>';
  140. $("#content_value td:contains('Data gebruik opties'):last").closest("tr").after(a)
  141.  
  142. $('#Delete').on('click', function(){
  143.  
  144. var Delete = confirm("Press a button!");
  145. if (Delete == true) {
  146. alert('De Rooftochten instellingen zijn verwijderd');
  147. localStorage.removeItem('date_rooftochten'+game_data.player.name + game_data.world);
  148. localStorage.removeItem('max_rooftochten_time'+game_data.player.name + game_data.world);
  149. location.reload()
  150. } else {
  151. alert('Je hebt de verwijdering van de rooftochten instellingen geanuleerd.!');
  152. }
  153. });
  154. } else {
  155. location.href = game_data.link_base_pure + 'place&mode=scavenge';
  156. }}
  157. void (0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement