BangerdIsWhoIAm

Untitled

Mar 19th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.19 KB | None | 0 0
  1. // ==UserScript==
  2. // @name GM FA-Filter
  3. // @author Tjeerdo
  4. // @homepageURL https://swtools.programmingtuts.nl/
  5. // @version 1.8
  6. // @description FA-Filter
  7. // @include https://nl*.tribalwars.nl/game.php?*
  8. // @include https://nl*.tribalwars.nl/game.php?*screen=am_farm*
  9. // @include https://es*.guerrastribales.es/game.php?*screen=am_farm*
  10. // @include https://en*.tribalwars.net/game.php?*screen=am_farm*
  11. // @include https://de*.die-staemme.de/game.php?*screen=am_farm*
  12. // @include https://nl*.tribalwars.nl/game.php?*screen=report*
  13. // @include https://es*.guerrastribales.es/game.php?*screen=report*
  14. // @include https://en*.tribalwars.net/game.php?*screen=report*
  15. // @include https://de*.die-staemme.de/game.php?*screen=report*
  16. // @grant none
  17. /* Functionaliteiten:
  18. * Sneltoetsen (A, B en C knoppen, vorig en volgende dorp), vorige/volgende pagina
  19. * Filters om bepaalde dingen eruit te filteren ;)
  20. * Sorteren op afstand/datum (oplopend/asc) (aflopend = desc)
  21. *
  22. *
  23. */
  24. /* TO-DO List:
  25. *
  26. */
  27. // ==/UserScript==
  28.  
  29.  
  30. $(document).ready( function() {
  31. // object waarin de settings worden opgeslagen
  32. var settings = JSON.parse(localStorage.getItem('settings')) || {};
  33. // default settings:
  34. if (localStorage.getItem('settings') === null || settings.version !== "1.8") {
  35. settings.version = "1.8";
  36. settings.attack = false;
  37. settings.green = false;
  38. settings.yellow = false;
  39. settings.red = false;
  40. settings.blue = false;
  41. settings.red_blue = false;
  42. settings.red_yellow = false;
  43. settings.volle_buit = false;
  44. settings.lege_buit = false;
  45. settings.disabled_icon_a = false;
  46. settings.disabled_icon_b = false;
  47. settings.disabled_icon_c = false;
  48. settings.distance = [0,100];
  49. settings.gsfilter = {
  50. "per_gs": false,
  51. "all_gs_combined": true,
  52. "min_hout": 0,
  53. "min_leem": 0,
  54. "min_ijzer": 0,
  55. "min_gs": 0,
  56. "unknown_gs": false
  57. };
  58. settings.wall = {
  59. "min_lvl":0,
  60. "max_lvl":20,
  61. "wall_sort": false,
  62. "unknown_wall": false
  63. };
  64. settings.sortby = ["distance", "asc"];
  65. settings.sort_gs = false;
  66. settings.DeleteReports = false;
  67. settings.autoSelectFarmReports = true;
  68. settings.hotkeys = {
  69. "AR_HitKeyA": 65,
  70. "AR_HitKeyB": 66,
  71. "AR_HitKeyC": 67,
  72. "AR_HitKeyNextVillage": 39,
  73. "AR_HitKeyPrevVillage": 37,
  74. "AR_HitKeyNextPage": 68,
  75. "AR_HitKeyPrevPage": 83
  76. };
  77. settings.groups = false;
  78. settings.LoadAllPages = false;
  79. settings.StayOnSamePage = false;
  80. /*settings.*/
  81. localStorage.setItem('settings', JSON.stringify(settings));
  82. location.reload();
  83. }
  84.  
  85. var keyCodeMap = {
  86. 8: "backspace",
  87. 9: "tab",
  88. 13: "return",
  89. 16: "shift",
  90. 17: "ctrl",
  91. 18: "alt",
  92. 19: "pausebreak",
  93. 20: "capslock",
  94. 27: "escape",
  95. 32: " ",
  96. 33: "pageup",
  97. 34: "pagedown",
  98. 35: "end",
  99. 36: "home",
  100. 37: "arrow left",
  101. 38: "arrow up",
  102. 39: "arrow right",
  103. 40: "arrow down",
  104. 43: "+",
  105. 44: "printscreen",
  106. 45: "insert",
  107. 46: "delete",
  108. 48: "0",
  109. 49: "1",
  110. 50: "2",
  111. 51: "3",
  112. 52: "4",
  113. 53: "5",
  114. 54: "6",
  115. 55: "7",
  116. 56: "8",
  117. 57: "9",
  118. 59: ";",
  119. 61: "=",
  120. 65: "a",
  121. 66: "b",
  122. 67: "c",
  123. 68: "d",
  124. 69: "e",
  125. 70: "f",
  126. 71: "g",
  127. 72: "h",
  128. 73: "i",
  129. 74: "j",
  130. 75: "k",
  131. 76: "l",
  132. 77: "m",
  133. 78: "n",
  134. 79: "o",
  135. 80: "p",
  136. 81: "q",
  137. 82: "r",
  138. 83: "s",
  139. 84: "t",
  140. 85: "u",
  141. 86: "v",
  142. 87: "w",
  143. 88: "x",
  144. 89: "y",
  145. 90: "z",
  146. 96: "0",
  147. 97: "1",
  148. 98: "2",
  149. 99: "3",
  150. 100: "4",
  151. 101: "5",
  152. 102: "6",
  153. 103: "7",
  154. 104: "8",
  155. 105: "9",
  156. 106: "*",
  157. 107: "+",
  158. 109: "-",
  159. 110: ".",
  160. 111: "/",
  161. 112: "f1",
  162. 113: "f2",
  163. 114: "f3",
  164. 115: "f4",
  165. 116: "f5",
  166. 117: "f6",
  167. 118: "f7",
  168. 119: "f8",
  169. 120: "f9",
  170. 121: "f10",
  171. 122: "f11",
  172. 123: "f12",
  173. 144: "numlock",
  174. 145: "scrolllock",
  175. 186: ";",
  176. 187: "=",
  177. 188: ",",
  178. 189: "-",
  179. 190: ".",
  180. 191: "/",
  181. 192: "`",
  182. 219: "[",
  183. 220: "\\",
  184. 221: "]",
  185. 222: "'"
  186. };
  187. // filter function
  188. function AR_FA_Filter() {
  189. for(var key in settings) {
  190. if($.type(settings[key]) === "boolean" && settings[key] === true) {
  191. if(key === "volle_buit") {
  192. $("#am_widget_Farm img[src*='1.png']").each(function () {
  193. $(this).closest('tr').remove();
  194. });
  195. } else if(key === "lege_buit") {
  196. $("#am_widget_Farm img[src*='0.png']").each(function () {
  197. $(this).closest('tr').remove();
  198. });
  199. } else if(key.match("disabled_icon_")) {
  200. var disabled_icon = key.split("_")[2];
  201. $("#am_widget_Farm .farm_icon_disabled.farm_icon_"+disabled_icon).each(function () {
  202. $(this).closest('tr').remove();
  203. });
  204. } else if(key === "sort_gs") {
  205. function x(a) {
  206. var c = $.trim( a.cells[5].textContent ).split(" ");
  207. var u = 0;
  208. for (var i = 0; i < c.length; i++) {
  209. u += parseInt(c.replace(/\D/g, "")) || 0;
  210. }
  211. return u;
  212. }
  213. var s = $("tr[class*=\"row_\"]").sort(function (a, b) {
  214. return x(b) - x(a);
  215. });
  216. for (i = 0; i < $("tr[class*=\"row_\"]").length; i++) {
  217. $('#plunder_list').find('tr:last').after(s);
  218. }
  219. } else if (key == "groups") {
  220. $.ajax({
  221. url: "https://" + game_data.world + ".tribalwars.nl" + game_data.link_base_pure + "overview_villages&mode=combined",
  222. async: false,
  223. success: function(result) {
  224. var $groups = $(result).find('#paged_view_content').find('div').first();
  225. $groups.find('a').each(function(){
  226. var newURL = $(this).attr('href').replace('&mode=combined', '').replace('overview_villages', location.href.split("&screen=")[1]).replace('village=','village=j');
  227. $(this).attr('href', newURL);
  228. });
  229. $('#am_widget_Farm').before('<div class="vis_item" align="center">' + $groups.html() + '</div>');
  230. }
  231. });
  232. } else if(key == "LoadAllPages") {
  233. // merge with stay on same page
  234.  
  235. } else if(key == "StayOnSamePage") {
  236. //nothing, because this is for the hitkeys
  237. } else {
  238. $("#am_widget_Farm img[src*='" + key + ".png']").each(function () {
  239. $(this).closest('tr').remove();
  240. });
  241. }
  242. } else if($.type(settings[key]) === "array") {
  243. if(!document.URL.match("&order=" + settings[key][0] + "&dir=" + settings[key][1]) && key === "sortby") {
  244. location.href = game_data.link_base_pure + "am_farm&order=" + settings[key][0] + "&dir=" + settings[key][1] + "&Farm_page=0";
  245. } else if(key === "distance"){
  246.  
  247. $("#am_widget_Farm tr td:nth-child(8)").each(function () {
  248. if($(this).text() > settings[key][1]) {
  249. $(this).closest("tr").remove();
  250. }
  251. if($(this).text() < settings[key][0]) {
  252. $(this).closest("tr").remove();
  253. }
  254. });
  255. }
  256. } else if(key == "gsfilter") {
  257. var indexResourcesColumn = $('#am_widget_Farm tr th > span.ressources').closest("th").index();
  258. $('#am_widget_Farm tr[class*="report_"]').each(function () {
  259. var resources = $.trim($(this).find('td').eq(indexResourcesColumn).text().replace(/\./g,'')).split(" ");
  260. if (resources.length > 2) {
  261. var hout = $.trim(resources[0]) * 1;
  262. var leem = $.trim(resources[1]) * 1;
  263. var ijzer = $.trim(resources[2]) * 1;
  264. if ((hout < settings[key].min_hout || leem < settings[key].min_leem || ijzer < settings[key].min_ijzer) && settings[key].per_gs) {
  265. $(this).remove();
  266. } else if ( (hout + leem + ijzer <settings.gsfilter.min_gs) && settings[key].all_gs_combined) {
  267. $(this).remove();
  268. }
  269. } else if (settings[key].unknown_gs) {
  270. $(this).remove();
  271. }
  272. });
  273. } else if(key == "wall") {
  274. var indexWallColumn = $('#am_widget_Farm tr th:has(img[src*="buildings/wall.png"])').index();
  275. $('#am_widget_Farm tr[class*="report_"]').each(function () {
  276. var wall = $(this).find('td').eq(indexWallColumn).text();
  277. if ($.isNumeric(wall)) {
  278. if (wall > settings[key].max_lvl || wall < settings[key].min_lvl ) {
  279. $(this).remove();
  280. }
  281. } else if (settings[key].unknown_wall) {
  282. $(this).remove();
  283. }
  284. });
  285. if (settings[key].wall_sort) {
  286. function j(a) {
  287. var c = parseInt($.trim(a.cells[6].textContent.split(" ")));
  288. return c;
  289. }
  290. var s = $("tr[class*=\"row_\"]").sort(function (a, b) {
  291. return j(b) - j(a);
  292. });
  293. for (i = 0; i < $("tr[class*=\"row_\"]").length; i++) {
  294. $('#plunder_list').find('tr:last').after(s);
  295. }
  296. }
  297. }
  298. }
  299. }
  300. $('#linkContainer').append('<a href="#" id="FA_settings"> - FA settings</a>');
  301. $("#FA_settings").click(function () {
  302. var a = document.createElement("div");
  303. a.id = "FAsettings";
  304. a.style.cssText = "background-color:#ecd6ad;border:2px solid #7d510f;z-index:99;top:100px;left:"+(($(document).width()-600)/2)+"px;position:absolute;padding-top:7px;padding-left:7px;padding-right:7px;width:600px;border-radius:7px;box-shadow:0 0 50px 15px #000000;";
  305. document.body.appendChild(a);
  306. a.innerHTML = '<h2 style="text-align: center;">settings FA-Filter</h2>';
  307. a.innerHTML += '<table class="vis modemenu AR_FAPackMenu" style="width:100%;margin-left:auto;margin-right:auto;margin-bottom:7px;"><tbody><tr><td style="width:33%; text-align:center" class="selected"><a href="javascript:void(0)" id="AR_filtersFA">Filters/sorteren</a></td><td style="width:33%; text-align:center"><a href="javascript:void(0)" id="AR_hitkeysFA">Sneltoetsen</a></td><td style="width:33%; text-align:center"><a href="javascript:void(0)" id="AR_OverigFA">Overig</a></td></tr></tbody></table>';
  308. a.innerHTML += '<div id="Ar_FilterSort"><table style="width:300px;float:left;"><tbody><tr><th colspan="2">Automatische filters:</th></tr><tr><td><input type="checkbox" name="attack" class="filters"></td><td>lopende aanvallen filteren</td></tr><tr><td><input type="checkbox" name="green" class="filters"></td><td>groen filteren</td></tr><tr><td><input type="checkbox" name="yellow" class="filters"></td><td>geel filteren</td></tr><tr><td><input type="checkbox" name="red" class="filters"></td><td>rood filteren</td></tr><tr><td><input type="checkbox" name="blue" class="filters"></td><td>blauw filteren</td></tr><tr><td><input type="checkbox" name="red_blue" class="filters"></td><td>rood_blauw filteren</td></tr><tr><td><input type="checkbox" name="red_yellow" class="filters"></td><td>rood_geel filteren</td></tr><tr><td><input type="checkbox" name="volle_buit" class="filters"></td><td>volle buit filteren</td></tr><tr><td><input type="checkbox" name="lege_buit" class="filters"></td><td>Lege buit filteren</td></tr><tr><td><input type="checkbox" name="disabled_icon_a" class="filters"></td><td>inactieve A-knoppen filteren</td></tr><tr><td><input type="checkbox" name="disabled_icon_b" class="filters"></td><td>inactieve B-knoppen filteren</td></tr><tr><td><input type="checkbox" name="disabled_icon_c" class="filters"></td><td>inactieve C-knoppen filteren</td></tr><tr><td><input type="checkbox" name="unknown_gs" class="resourcesfilter"></td><td>Onbekend aantal GS wegfilteren</td></tr><tr><td><input type="checkbox" name="unknown_wall" class="wallfilter"></td><td>Onbekende muur lvls wegfilteren</td></tr><tr><td><input type="checkbox" name="autoSelectFarmReports" class="reportfilter"></td><td>farm rapportjes automatisch selecteren</td></tr></table><table style="width:300px;float:left;"><tr><th colspan="2">Afstandsfilter</th></tr><tr><td><input type="number" name="min_distance" class="afstandsfilter" style="width:40px"></td><td>Minimale afstand</td></tr><tr><td><input type="number" name="max_distance" class="afstandsfilter" style="width:40px"></td><td>maximale afstand</td></tr><tr><th colspan="2">Grondstoffen filter</th></tr><tr><td colspan="2"><input type="checkbox" name="allGS"> Alle GS gecombineerd <input type="checkbox" name="perGS"> per GS</td></tr><tr class="perGS"><td><input type="number" name="min_hout" class="resourcesfilter" style="width:40px"></td><td>Minimale aantal hout</td></tr><tr class="perGS"><td><input type="number" name="min_leem" class="resourcesfilter" style="width:40px"></td><td>Minimale aantal leem</td></tr><tr class="perGS"><td><input type="number" name="min_ijzer" class="resourcesfilter" style="width:40px"></td><td>Minimale aantal ijzer</td></tr><tr class="allGS"><td><input type="number" name="min_gs" class="resourcesfilter" style="width:40px"></td><td>Minimale aantal grondstoffen</td></tr><tr><th colspan="2">muur filter</th></tr><tr><td><input type="number" name="min_wall" class="wallfilter" style="width:40px"></td><td>Minimale muurlevel</td></tr><tr><td><input type="number" name="max_wall" class="wallfilter" style="width:40px"></td><td>Maximale muurlevel</td></tr></tbody></table><table style="width:300px;"><tbody><tr><th>Automatisch sorteren</th></tr><tr><td><select name="sortby" class="sort"><option name="asc">asc(oplopend)</option><option name="desc">desc(aflopend)</option></select><select name="dur_date" class="sort"><option name="distance">Op afstand</option><option name="date">Op datum</option></select></td></tr><tr><td><input type="checkbox" name="sort_gs" class="filters">op GS sorteren</td></tr><tr><td><input type="checkbox" name="sort_wall" class="filters">op muur sorteren</td></tr></tbody></table><div style="clear:both"></div></div>';
  309. a.innerHTML += '<div id="AR_HitKeys" style="display:none"><table style="width:300px;float:left;"><tbody><tr><td>A-knop: </td><td><input type="text" name="AR_HitKeyA" id="AR_HitKeyA" class="AR_HitKeys" value="" data-keycode=""/></td></tr><tr><td>B-knop: </td><td><input type="text" name="AR_HitKeyB" id="AR_HitKeyB" class="AR_HitKeys" value="" data-keycode=""/></td></tr><tr><td>C-knop: </td><td><input type="text" name="AR_HitKeyC" id="AR_HitKeyC" class="AR_HitKeys" value="" data-keycode=""/></td></tr><tr><td>volgende dorp: </td><td><input type="text" name="AR_HitKeyNextVillage" id="AR_HitKeyNextVillage" class="AR_HitKeys" value="" data-keycode=""/></td></tr><tr><td>vorige dorp: </td><td><input type="text" name="AR_HitKeyPrevVillage" id="AR_HitKeyPrevVillage" class="AR_HitKeys" value="" data-keycode=""/></td></tr><tr><td>volgende pagina: </td><td><input type="text" name="AR_HitKeyNextPage" id="AR_HitKeyNextPage" class="AR_HitKeys" value="" data-keycode=""/></td></tr><tr><td>vorige pagina: </td><td><input type="text" name="AR_HitKeyPrevPage" id="AR_HitKeyPrevPage" class="AR_HitKeys" value="" data-keycode=""/></td></tr></tbody></table><div style="clear:both"></div></div>';
  310. a.innerHTML += '<div id="AR_Overig" style="display:none"><table style="width:300px;float:left;"><tbody><tr><td><input type="checkbox" name="groups" id="groups" value=""/></td><td>Van groepen wisselen bij de FA</td></tr><tr><td><input type="checkbox" name="LoadAllPages" value=""/></td><td>Alle pagina`s tegelijk laden</td></tr><tr><td><input type="checkbox" name="StayOnSamePage" value=""/></td><td>Als je naar het vorige/volgende dorp gaat, dan op dezelfde pagina blijven</td></tr></tbody></table><div style="clear:both"></div></div>';
  311. a.innerHTML += '<div style="color:#7d510f;text-align:right;padding-right:7px;padding-bottom:5px;width:500px;clear:both;"><a id="sluiten" href="javascript:void(0)">sluiten</a></div>';
  312. if ( settings.gsfilter.per_gs ) {
  313. $( '.allGS' ).hide();
  314. } else {
  315. $( '.perGS' ).hide();
  316. }
  317. var $allGS = $( 'input[name="allGS"]' );
  318. var $perGS = $( 'input[name="perGS"]' );
  319. var $allGSClass = $( '.allGS' );
  320. var $perGSClass = $( '.perGS' );
  321. $perGS.on( 'change', function () {
  322. if ( $perGS.is( ':checked' ) ) {
  323. $allGS.prop('checked', false);
  324. $perGSClass.show();
  325. $allGSClass.hide();
  326. } else {
  327. $allGS.prop('checked', true);
  328. $perGSClass.hide();
  329. $allGSClass.show();
  330. }
  331. } );
  332. $allGS.on( 'change', function () {
  333. if ( $allGS.is( ':checked' ) ) {
  334. $perGS.prop('checked', false);
  335. $perGSClass.hide();
  336. $allGSClass.show();
  337. } else {
  338. $perGS.prop('checked', true);
  339. $perGSClass.show();
  340. $allGSClass.hide();
  341. }
  342. } );
  343. for(var key in settings) {
  344. if($.type(settings[key]) === "boolean" && settings[key] === true) {
  345. $('input[name=' + key + ']').prop('checked', true);
  346. } else if($.type(settings[key]) === "array") {
  347. if(key == "sortby") {
  348. $('option[name=' + settings[key][0] + ']').prop('selected', true);
  349. $('option[name=' + settings[key][1] + ']').prop('selected', true);
  350. } else {
  351. $('input[name=min_' + key + ']').val(settings[key][0]);
  352. $('input[name=max_' + key + ']').val(settings[key][1]);
  353. }
  354. } else if(key == "gsfilter") {
  355. if (settings[key].all_gs_combined) {
  356. $('input[name="allGS"]').prop('checked', 'checked');
  357. }
  358. if (settings[key].per_gs) {
  359. $('input[name="perGS"]').prop('checked', 'checked');
  360. }
  361. $('input[name="min_hout"]').val(settings[key].min_hout);
  362. $('input[name="min_leem"]').val(settings[key].min_leem);
  363. $('input[name="min_ijzer"]').val(settings[key].min_ijzer);
  364. $('input[name="min_gs"]').val(settings[key].min_gs);
  365. if (settings[key].unknown_gs) {
  366. $('input[name="unknown_gs"]').prop('checked', true);
  367. }
  368. } else if(key == "wall") {
  369. $('input[name="min_wall"]').val(settings[key].min_lvl);
  370. $('input[name="max_wall"]').val(settings[key].max_lvl);
  371.  
  372. if (settings[key].unknown_wall) {
  373. $('input[name="unknown_wall"]').prop('checked', true);
  374. }
  375. if (settings[key].wall_sort) {
  376. $('input[name="sort_wall"]').prop('checked', true);
  377. }
  378. } else if(key == "hotkeys") {
  379. for(var hotkey in settings.hotkeys) {
  380. if( settings.hotkeys.hasOwnProperty( hotkey ) ) {
  381. var keyCode = settings.hotkeys[hotkey];
  382. $("#"+hotkey).val(keyCodeMap[keyCode]).attr('data-keycode', keyCode);
  383. }
  384. }
  385. }
  386. }
  387.  
  388. var $FAPackMenu = $(".AR_FAPackMenu");
  389. $("#AR_filtersFA").on("click", function(){
  390. if (!$(this).closest('td').hasClass('selected')) {
  391. $("#AR_Overig, #AR_HitKeys").css('display', 'none');
  392. $("#Ar_FilterSort").css('display', 'block');
  393. $FAPackMenu.find(".selected").removeClass("selected");
  394. $(this).closest('td').addClass("selected");
  395. }
  396. });
  397. $("#AR_hitkeysFA").on("click", function(){
  398. if (!$(this).closest('td').hasClass('selected')) {
  399. $("#Ar_FilterSort, #AR_Overig").css('display', 'none');
  400. $("#AR_HitKeys").css('display', 'block');
  401. $FAPackMenu.find(".selected").removeClass("selected");
  402. $(this).closest('td').addClass("selected");
  403. }
  404. });
  405. $("#AR_OverigFA").on("click", function(){
  406. if (!$(this).closest('td').hasClass('selected')) {
  407. $("#Ar_FilterSort, #AR_HitKeys").css('display', 'none');
  408. $("#AR_Overig").css('display', 'block');
  409. $FAPackMenu.find(".selected").removeClass("selected");
  410. $(this).closest('td').addClass("selected");
  411. }
  412. });
  413. $(".AR_HitKeys").on('keydown', function(e){
  414. $(this).val(keyCodeMap[e.which]).attr('data-keycode', e.which);
  415. });
  416.  
  417. $("#sluiten").click(function () {
  418. $("input.filters").each(function () {
  419. var name = $(this).attr("name");
  420. if ($(this).is(':checked')) {
  421. settings[name.toString()] = true;
  422. } else {
  423. settings[name.toString()] = false;
  424. }
  425. });
  426. settings.distance[0] = parseFloat($("input.afstandsfilter:first").val());
  427. settings.distance[1] = parseFloat($("input.afstandsfilter:last").val());
  428. var keuze = $("select.sort:first option:selected").attr("name").toString();
  429. var keuze2 = $("select.sort:last option:selected").attr("name").toString();
  430. settings.sortby = [keuze2, keuze];
  431. if($("input.overige").is(':checked')) {
  432. settings.DeleteReports = true;
  433. } else {
  434. settings.DeleteReports = false;
  435. }
  436. settings.gsfilter.all_gs_combined = $('input[name="allGS"]').is(':checked');
  437. settings.gsfilter.per_gs = $('input[name="perGS"]').is(':checked');
  438. settings.gsfilter.min_hout = parseInt($('input[name="min_hout"]').val());
  439. settings.gsfilter.min_leem = parseInt($('input[name="min_leem"]').val());
  440. settings.gsfilter.min_ijzer = parseInt($('input[name="min_ijzer"]').val());
  441. settings.gsfilter.min_gs = parseInt($('input[name="min_gs"]').val());
  442. settings.gsfilter.unknown_gs = $('input[name="unknown_gs"]').is(':checked');
  443. settings.autoSelectFarmReports = $('input[name="autoSelectFarmReports"]').is(':checked');
  444. settings.wall.min_lvl = parseInt($('input[name="min_wall"]').val());
  445. settings.wall.max_lvl = parseInt($('input[name="max_wall"]').val());
  446. settings.wall.wall_sort = $('input[name="sort_wall"]').is(':checked');
  447. settings.wall.unknown_wall = $('input[name="unknown_wall"]').is(':checked');
  448. settings.hotkeys = {
  449. "AR_HitKeyA": $("#AR_HitKeyA").attr('data-keycode')*1,
  450. "AR_HitKeyB": $("#AR_HitKeyB").attr('data-keycode')*1,
  451. "AR_HitKeyC": $("#AR_HitKeyC").attr('data-keycode')*1,
  452. "AR_HitKeyNextVillage": $("#AR_HitKeyNextVillage").attr('data-keycode')*1,
  453. "AR_HitKeyPrevVillage": $("#AR_HitKeyPrevVillage").attr('data-keycode')*1,
  454. "AR_HitKeyNextPage": $("#AR_HitKeyNextPage").attr('data-keycode')*1,
  455. "AR_HitKeyPrevPage": $("#AR_HitKeyPrevPage").attr('data-keycode')*1
  456. };
  457. settings.groups = $('input[name="groups"]').is(':checked');
  458. settings.LoadAllPages = $('input[name="LoadAllPages"]').is(':checked');
  459. settings.StayOnSamePage = $('input[name="StayOnSamePage"]').is(':checked');
  460. localStorage.setItem('settings', JSON.stringify(settings));
  461. $("div#FAsettings").remove();
  462. location.reload();
  463. });
  464. });
  465. if(game_data.screen == "am_farm") {
  466. if (settings.LoadAllPages) {
  467. var lastPage = parseInt($("#am_widget_Farm").find(".paged-nav-item").last().text().match(/\d+/));
  468. for(var i=0; i< lastPage; i++) {
  469. $.ajax({
  470. url: document.URL.replace(/page=\d+/, "page=" + i),
  471. async: false,
  472. success: function(result) {
  473. $("#am_widget_Farm").find('tr[class*="report_"]').last().after($(result).find('#am_widget_Farm').find('tr[class*="report_"]'));
  474. var AR_NavItem = $("#am_widget_Farm").find('.paged-nav-item:contains("' + i + '")');
  475. if (AR_NavItem.length > -1) {
  476. AR_NavItem.replaceWith('<strong>' + i + '<strong>');
  477. }
  478. }
  479. });
  480. }
  481. }
  482. $("a.farm_icon_c, a.farm_icon_b, a.farm_icon_a").click(function () {
  483. if(settings.DeleteReports === true ) {
  484. $(this).closest('tr').find("img[src*='delete_small.png']").closest('td').find('a').click();
  485. } else {
  486. $(this).closest('tr').remove();
  487. }
  488. });
  489.  
  490. document.onkeydown = function(e) {
  491. switch (e.which) {
  492. case settings.hotkeys.AR_HitKeyNextVillage:
  493. if (settings.StayOnSamePage) {
  494. location.href = document.getElementById("village_switch_right").href;
  495. } else {
  496. location.href = document.getElementById("village_switch_right").href.replace(/page=\d+/, "page=0");
  497. }
  498. break;
  499. case settings.hotkeys.AR_HitKeyPrevVillage:
  500. if (settings.StayOnSamePage) {
  501. location.href = document.getElementById("village_switch_left").href;
  502. } else {
  503. location.href = document.getElementById("village_switch_left").href.replace(/page=\d+/, "page=0");
  504. }
  505. break;
  506. case settings.hotkeys.AR_HitKeyNextPage:
  507. location.href = document.URL.replace(/page=\d+/, "page=" + (++(document.URL.match(/page=(\d+)/) || [, 0])[1]));
  508. break;
  509. case settings.hotkeys.AR_HitKeyPrevPage:
  510. location.href = document.URL.replace(/page=\d+/, "page=" + --(document.URL.match(/page=(\d+)/) || [, 0])[1]);
  511. break;
  512. case settings.hotkeys.AR_HitKeyA:
  513. $('tr[class*="report_"] .farm_icon_a').first().click();
  514. break;
  515. case settings.hotkeys.AR_HitKeyB:
  516. $('tr[class*="report_"] .farm_icon_b').first().click();
  517. break;
  518. case settings.hotkeys.AR_HitKeyC:
  519. $('tr[class*="report_"] .farm_icon_c').first().click();
  520. break;
  521. default:
  522. break;
  523. }
  524. };
  525.  
  526. $(document).ajaxComplete( function() {
  527. AR_FA_Filter();
  528. } );
  529.  
  530. } else if(game_data.screen == "report") {
  531. if (settings.autoSelectFarmReports) {
  532. $("#report_list").find('tr[class*="row_"]').each(function(){
  533. if ($(this).find('img[src*="farm.png"]').length > 0) {
  534. $(this).find('input').first().prop("checked",true);
  535. }
  536. });
  537. }
  538. }
  539. $(".manager_icon:first").attr("href", $(".manager_icon")[0].href + "&order=" + settings.sortby[0] + "&dir=" + settings.sortby[1] + "&Farm_page=0");
  540. });
Add Comment
Please, Sign In to add comment