Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name GM FarmShaper
- // @author Tjeerdo
- // @version 1.6
- // @description FarmShaper
- // @include https://nl*.tribalwars.nl/game.php?*
- // @grant none
- // ==/UserScript==
- // TODO
- // - detect wall level and check if there are enough troops send to shape without losses
- // - send ram for wall ?
- (function ( f ) {
- var d = document;
- var s = d.createElement( 'script' );
- s.textContent = '$(document).ready(' + f.toString() + ')';
- (d.body || d.head || d.documentElement).appendChild( s );
- })( function () {
- // object which contains the FarmShaper settings
- var AR_FarmShaperSettings = JSON.parse( localStorage.getItem( 'AR_FarmShaperSettings' ) ) || {};
- // default settings:
- if ( localStorage.getItem( "AR_FarmShaperSettings" ) === null || AR_FarmShaperSettings.version !== "1.6" ) {
- AR_FarmShaperSettings.version = "1.6";
- AR_FarmShaperSettings.RamPerWall = {
- 1 : 3,
- 2 : 5,
- 3 : 8,
- 4 : 11,
- 5 : 15,
- 6 : 20,
- 7 : 25,
- 8 : 31,
- 9 : 37,
- 10: 46,
- 11: 56,
- 12: 66,
- 13: 78,
- 14: 92,
- 15: 107,
- 16: 125,
- 17: 144,
- 18: 167,
- 19: 192,
- 20: 220
- };
- AR_FarmShaperSettings.troops = {
- 'spear': {
- 'activated': false,
- 'amount': 0
- },
- 'sword': {
- 'activated': false,
- 'amount': 0
- },
- 'axe': {
- 'activated': true,
- 'amount': 100
- },
- 'archer': {
- 'activated': false,
- 'amount': 0
- },
- 'spy': {
- 'activated': true,
- 'amount': 1
- },
- 'light': {
- 'activated': true,
- 'amount': 50
- },
- 'marcher': {
- 'activated': false,
- 'amount': 0
- },
- 'heavy': {
- 'activated': false,
- 'amount': 0
- }
- };
- AR_FarmShaperSettings.SortOnDistance = true;
- AR_FarmShaperSettings.MultipleAttacksOneTarget = true;
- AR_FarmShaperSettings.DemolitionOrder = ["Kazerne", "Hoofdgebouw", "Stal", "Werkplaats", "Smederij", "Verzamelplaats", "Standbeeld", "Marktplaats", "Houthakkers", "Leemgroeve", "IJzermijn", "Boerderij", "Opslagplaats", "Muur", "Adelshoeve"];
- AR_FarmShaperSettings.CatsTargets = {
- "Hoofdgebouw": 1,
- "Kazerne": 0,
- "Stal": 0,
- "Werkplaats": 0,
- "Adelshoeve": 0,
- "Smederij": 0,
- "Verzamelplaats": 0,
- "Standbeeld": 0,
- "Marktplaats": 0,
- "Houthakkers": 30,
- "Leemgroeve": 30,
- "IJzermijn": 30,
- "Boerderij": 12,
- "Opslagplaats": 30,
- "Muur": 0
- };
- AR_FarmShaperSettings.hotkeys = {
- "AR_HitKeyWallBreakerButton": 66,
- "AR_HitKeyBBShaperButton": 67
- };
- AR_FarmShaperSettings.shapeVillagesWithHighMines = true;
- localStorage.setItem( 'AR_FarmShaperSettings', JSON.stringify( AR_FarmShaperSettings ) );
- location.reload();
- }
- // object in which al the coords and building levels are saved
- var AR_FarmShaper_Coords_BuildingLvls = JSON.parse( localStorage.getItem( "AR_FarmShaper_Coords_BuildingLvls" ) ) || {};
- var AR_FarmShaper_Coords_WallLvls = JSON.parse( localStorage.getItem( "AR_FarmShaper_Coords_WallLvls" ) ) || {};
- var CatsRequired = [
- /* CatsRequired[0 (this can be any number under 30, because this is the level the buildings is downgraded to) ][building lvl] */
- [0,2,6,10,15,21,28,36,45,56,68,82,98,115,136,159,185,215,248,286,328,376,430,490,558,634,720,815,922,1041,1175],
- [0,0,2, 6,11,17,23,31,39,49,61,74,89,106,126,148,173,202,234,270,312,358,410,469,534,508,691,784,888,1005,1135],
- [0,0,0, 2, 7,12,18,25,33,43,54,66,81, 97,116,137,161,189,220,255,295,340,390,447,511,583,663,754,855, 968,1095],
- [0,0,0, 0, 3, 7,13,20,27,36,47,59,72, 88,106,126,149,176,206,240,278,321,370,425,487,557,635,723,821, 932,1055],
- [0,0,0, 0, 0, 3, 8,14,21,30,40,51,64, 79, 96,115,137,163,192,224,261,303,350,403,463,531,607,692,788, 895,1015],
- [0,0,0, 0, 0, 0, 3, 9,15,23,32,43,55, 69, 86,104,126,150,177,209,244,285,330,382,440,505,579,661,754, 859, 976],
- [0,0,0, 0, 0, 0, 0, 3, 9,17,25,35,47, 60, 76, 93,114,137,163,193,227,266,310,360,416,479,550,631,721, 822, 936],
- [0,0,0, 0, 0, 0, 0, 0, 3,10,18,28,38, 51, 66, 82,102,124,149,178,211,248,290,338,392,453,522,600,687, 786, 896],
- [0,0,0, 0, 0, 0, 0, 0, 0, 4,11,20,30, 42, 56, 72, 90,111,135,162,194,230,270,316,368,427,494,569,654, 749, 856],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 4,12,22, 33, 46, 61, 78, 98,121,147,177,211,250,294,345,401,466,538,620, 713, 816],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 4,13, 23, 36, 50, 66, 85,107,132,160,193,230,273,321,376,438,508,587, 676, 777],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 14, 26, 39, 54, 72, 92,116,143,175,210,251,297,350,409,477,553, 640, 737],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 16, 28, 42, 59, 78,101,127,156,190,229,273,324,381,446,520, 603, 697],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 17, 30, 46, 64, 85,110,138,170,207,250,298,353,415,486, 567, 657],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 18, 33, 50, 70, 93,120,150,186,226,272,325,385,453, 530, 617],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 20, 36, 54, 76,101,130,164,202,246,297,354,419, 493, 578],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 22, 39, 59, 83,110,142,178,220,268,323,386, 457, 538],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 24, 43, 65, 90,120,155,195,240,292,352, 420, 498],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 26, 46, 70, 98,131,169,212,262,319, 384, 458],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 28, 50, 77,107,143,184,231,285, 347, 418],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 30, 55, 84,117,156,200,252, 311, 379],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 33, 60, 91,127,170,218, 274, 339],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 36, 65, 99,139,185, 238, 299],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 39, 71,108,151, 201, 259],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 43, 77,118, 165, 219],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 47, 84, 128, 180],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 51, 92, 140],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 55, 100],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 60],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20],
- [0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- ];
- var keyCodeMap = {
- 8: "backspace", 9: "tab", 13: "return", 16: "shift", 17: "ctrl", 18: "alt", 19: "pausebreak", 20: "capslock", 27: "escape", 32: " ",
- 33: "pageup", 34: "pagedown", 35: "end", 36: "home", 37: "arrow left", 38: "arrow up", 39: "arrow right", 40: "arrow down", 43: "+",
- 44: "printscreen", 45: "insert", 46: "delete", 48: "0", 49: "1", 50: "2", 51: "3", 52: "4", 53: "5", 54: "6", 55: "7", 56: "8", 57: "9",
- 59: ";", 61: "=", 65: "a", 66: "b", 67: "c", 68: "d", 69: "e", 70: "f", 71: "g", 72: "h", 73: "i", 74: "j", 75: "k", 76: "l", 77: "m",
- 78: "n", 79: "o", 80: "p", 81: "q", 82: "r", 83: "s", 84: "t", 85: "u", 86: "v", 87: "w", 88: "x", 89: "y", 90: "z", 96: "0", 97: "1",
- 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7", 104: "8", 105: "9", 106: "*", 107: "+", 109: "-", 110: ".", 111: "/", 112: "f1",
- 113: "f2", 114: "f3", 115: "f4", 116: "f5", 117: "f6", 118: "f7", 119: "f8", 120: "f9", 121: "f10", 122: "f11", 123: "f12", 144: "numlock",
- 145: "scrolllock", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 221: "]", 222: "'"
- };
- // function for sorting the coords
- function AR_SortCoords(a) {
- var own_village = game_data.village.coord;
- f = own_village.split("|"),
- t = a.split("|"),
- fields = Math.sqrt(Math.pow(parseInt(f[0])-parseInt(t[0]),2)+Math.pow(parseInt(f[1])-parseInt(t[1]),2));
- return fields;
- }
- // function to fill in the troops and coords, if there are not enough troops then go to next village
- function FarmShaperPlace( AttackType, target ) {
- if ( $.isEmptyObject( AttackType ) ) {
- alert( "Alle aanvallen zijn verstuurd :)\nMede mogelijk gemaakt door Tjeerdo/.Arrogant ^^" );
- return;
- }
- if (AR_FarmShaperSettings.SortOnDistance == true) {
- var AR_keys = Object.keys( AttackType )
- AR_keys.sort(function ( a, b ) {
- return AR_SortCoords(a) - AR_SortCoords(b)
- });
- coord = AR_keys[0];
- } else {
- coord = Object.keys( AttackType )[0];
- }
- var $UnitForm = $('#command-data-form');
- var axe = $UnitForm.find( '#unit_input_axe' ).data( 'allCount' );
- var spy = $UnitForm.find( '#unit_input_spy' ).data( 'allCount' );
- var light = $UnitForm.find( '#unit_input_light' ).data( 'allCount' );
- var splitCache = coord.split( "|" );
- var xCoord = splitCache[0];
- var yCoord = splitCache[1];
- var neededSpy = AR_FarmShaperSettings.troops['spy'].amount;
- switch ( target ) {
- case 'wall':
- var ram = $UnitForm.find( '#unit_input_ram' ).data( 'allCount' );
- var neededRam = AR_FarmShaperSettings.RamPerWall[AR_FarmShaper_Coords_WallLvls[coord]];
- if ( ram >= neededRam ) {
- $( "#unit_input_ram" ).val( neededRam );
- $( "#inputx" ).val( xCoord );
- $( "#inputy" ).val( yCoord );
- var troopsFilledIn = false;
- for( var key in AR_FarmShaperSettings.troops ) {
- if( AR_FarmShaperSettings.troops[key].activated && key != "spy" ) {
- var neededAmount = AR_FarmShaperSettings.troops[key].amount;
- if( $UnitForm.find('#unit_input_' + key ).data( 'allCount' ) >= neededAmount ) {
- $( "#unit_input_" + key ).val( neededAmount );
- troopsFilledIn = true;
- break;
- }
- }
- }
- if( !troopsFilledIn ) {
- alert( "dorpswitch omdat er te weinig troepen zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- }
- if ( spy >= neededSpy ) {
- $( "#unit_input_spy" ).val( neededSpy );
- } else {
- alert( "dorpswitch omdat er te weinig scouts zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- }
- delete AR_FarmShaper_Coords_WallLvls[coord];
- localStorage['AR_FarmShaper_Coords_WallLvls'] = JSON.stringify( AR_FarmShaper_Coords_WallLvls );
- $( "#target_attack" ).focus();
- } else {
- alert( "dorpswitch omdat er te weinig rammen zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- }
- break;
- case 'buildings':
- var catapult = $UnitForm.find( '#unit_input_catapult' ).data( 'allCount' );
- var neededCatapult;
- if ( catapult < 2) {
- alert( "dorpswitch omdat er te weinig katapulten zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- } else {
- if( AR_FarmShaper_Coords_BuildingLvls[coord].Houthakkers == 30 &&
- AR_FarmShaper_Coords_BuildingLvls[coord].Leemgroeve == 30 &&
- AR_FarmShaper_Coords_BuildingLvls[coord].IJzermijn == 30 &&
- !AR_FarmShaperSettings.shapeVillagesWithHighMines ) {
- delete AR_FarmShaper_Coords_BuildingLvls[coord];
- localStorage['AR_FarmShaper_Coords_BuildingLvls'] = JSON.stringify( AR_FarmShaper_Coords_BuildingLvls );
- FarmShaperPlace( AR_FarmShaper_Coords_BuildingLvls, "buildings" );
- }
- $.each( AR_FarmShaperSettings.DemolitionOrder, function ( index ) {
- var AR_Building = AR_FarmShaperSettings.DemolitionOrder[index];
- var AR_MinimumLvl = AR_FarmShaperSettings.CatsTargets[AR_Building];
- var AR_CurrentLvl = AR_FarmShaper_Coords_BuildingLvls[coord][AR_Building] != undefined ? AR_FarmShaper_Coords_BuildingLvls[coord][AR_Building] : 0;
- if( AR_MinimumLvl < AR_CurrentLvl ) {
- neededCatapult = CatsRequired[AR_MinimumLvl][AR_CurrentLvl];
- if ( catapult > neededCatapult ) {
- if ( neededCatapult == 0) {
- return true;
- }
- $( "#unit_input_catapult" ).val( neededCatapult );
- $( "#inputx" ).val( xCoord );
- $( "#inputy" ).val( yCoord );
- var troopsFilledIn = false;
- for( var key in AR_FarmShaperSettings.troops ) {
- if( AR_FarmShaperSettings.troops[key].activated && key != "spy" ) {
- var neededAmount = AR_FarmShaperSettings.troops[key].amount;
- if( $UnitForm.find( '#unit_input_' + key ).data( 'allCount' ) >= neededAmount ) {
- $( "#unit_input_" + key ).val( neededAmount );
- troopsFilledIn = true;
- break;
- }
- }
- }
- if( !troopsFilledIn ) {
- alert( "dorpswitch omdat er te weinig troepen zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- }
- if ( spy >= neededSpy ) {
- $( "#unit_input_spy" ).val( neededSpy );
- } else {
- alert( "dorpswitch omdat er te weinig scouts zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- }
- if ( !AR_FarmShaperSettings.MultipleAttacksOneTarget ) {
- delete AR_FarmShaper_Coords_BuildingLvls[coord];
- } else {
- AR_FarmShaper_Coords_BuildingLvls[coord][AR_Building] = AR_MinimumLvl;
- }
- localStorage['AR_FarmShaper_Coords_BuildingLvls'] = JSON.stringify( AR_FarmShaper_Coords_BuildingLvls );
- localStorage['AR_FarmShaperKataTarget'] = AR_Building;
- $( "#target_attack" ).focus();
- return false;
- } else if ( catapult < neededCatapult ) {
- var counter = AR_CurrentLvl - AR_MinimumLvl;
- for( var i = AR_MinimumLvl; i < AR_CurrentLvl; i++ ) {
- neededCatapult = CatsRequired[i][AR_CurrentLvl];
- if ( catapult >= neededCatapult && neededCatapult > 0 ) {
- $( "#unit_input_catapult" ).val( neededCatapult );
- $( "#inputx" ).val( xCoord );
- $( "#inputy" ).val( yCoord );
- var troopsFilledIn = false;
- for( var key in AR_FarmShaperSettings.troops ) {
- if( AR_FarmShaperSettings.troops[key].activated && key != "spy" ) {
- var neededAmount = AR_FarmShaperSettings.troops[key].amount;
- if( $UnitForm.find( '#unit_input_' + key ).data( 'allCount' ) >= neededAmount ) {
- $( "#unit_input_" + key ).val( neededAmount );
- troopsFilledIn = true;
- break;
- }
- }
- }
- if( !troopsFilledIn ) {
- alert( "dorpswitch omdat er te weinig troepen zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- }
- if ( spy >= neededSpy ) {
- $( "#unit_input_spy" ).val( neededSpy );
- } else {
- alert( "dorpswitch omdat er te weinig scouts zijn" );
- location.href = document.getElementById( "village_switch_right" ).href;
- }
- if ( !AR_FarmShaperSettings.MultipleAttacksOneTarget ) {
- delete AR_FarmShaper_Coords_BuildingLvls[coord];
- } else {
- AR_FarmShaper_Coords_BuildingLvls[coord][AR_Building] = i;
- }
- localStorage['AR_FarmShaper_Coords_BuildingLvls'] = JSON.stringify( AR_FarmShaper_Coords_BuildingLvls );
- localStorage['AR_FarmShaperKataTarget'] = AR_Building;
- $( "#target_attack" ).focus();
- return false;
- } else if (neededCatapult == 0 ) {
- return;
- }
- }
- }
- }
- if (index == 13) {
- delete AR_FarmShaper_Coords_BuildingLvls[coord];
- localStorage['AR_FarmShaper_Coords_BuildingLvls'] = JSON.stringify( AR_FarmShaper_Coords_BuildingLvls );
- FarmShaperPlace( AR_FarmShaper_Coords_BuildingLvls, "buildings" );
- }
- })
- }
- break;
- }
- }
- // append element to the footer so that the user can do it in their own way.
- $( '#linkContainer' ).append( '<a href="#AR_FarmShaperSettings" id="FarmShaperSettings"> - AR FarmShaper</a>' );
- $( "#FarmShaperSettings" ).click( function () {
- // create div for settings popup
- var a = document.createElement( "div" );
- // set ID for the settings popup
- a.id = "AR_FarmShaperSettingsPopup";
- // set the CSS for the settings popup
- a.style.cssText = "background-color:#ecd6ad;border:2px solid #7d510f;z-index:99;top:100px;left:" + (($( document ).width() - 600) / 2) + "px;position:absolute;padding:7px;width:600px;border-radius:7px;box-shadow:0 0 50px 15px #000000;";
- // append the element to the document body
- document.body.appendChild( a );
- // create and set innerHTML for the settings popup
- var menu = '<h2 style="text-align: center;width: 75%;float:left;">settings FarmShaper</h2><h3 style="text-align: right;width:20%;float:left;"><a id="AR_FarmShaperSettingsPopupSluiten" href="javascript:void(0)">sluiten</a></h3>';
- menu += '<table class="vis modemenu AR_FSMenu" 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_FSWallBreaker">Wall Breaker</a></td><td style="width:33%; text-align:center"><a href="javascript:void(0)" id="AR_FSHitkeys">Sneltoetsen</a></td><td style="width:33%; text-align:center"><a href="javascript:void(0)" id="AR_FSKata">Overig</a></td></tr></tbody></table>';
- // WallBreaker settings
- menu += '<div id="AR_FSWallBreakerSettings"><table style="margin:0 auto;" class="vis"><tr><th>Muurlvl</th><th>aantal ram</th></tr><tr><td>1</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[1] + '" id="RamPerWallLvl1"/></td></tr><tr><td>2</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[2] + '" id="RamPerWallLvl2"/></td></tr><tr><td>3</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[3] + '" id="RamPerWallLvl3"/></td></tr><tr><td>4</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[4] + '" id="RamPerWallLvl4"/></td></tr><tr><td>5</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[5] + '" id="RamPerWallLvl5"/></td></tr><tr><td>6</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[6] + '" id="RamPerWallLvl6"/></td></tr><tr><td>7</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[7] + '" id="RamPerWallLvl7"/></td></tr><tr><td>8</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[8] + '" id="RamPerWallLvl8"/></td></tr><tr><td>9</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[9] + '" id="RamPerWallLvl9"/></td></tr><tr><td>10</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[10] + '" id="RamPerWallLvl10"/></td></tr><tr><td>11</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[11] + '" id="RamPerWallLvl11"/></td></tr><tr><td>12</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[12] + '" id="RamPerWallLvl12"/></td></tr><tr><td>13</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[13] + '" id="RamPerWallLvl13"/></td></tr><tr><td>14</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[14] + '" id="RamPerWallLvl14"/></td></tr><tr><td>15</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[15] + '" id="RamPerWallLvl15"/></td></tr><tr><td>16</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[16] + '" id="RamPerWallLvl16"/></td></tr><tr><td>17</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[17] + '" id="RamPerWallLvl17"/></td></tr><tr><td>18</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[18] + '" id="RamPerWallLvl18"/></td></tr><tr><td>19</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[19] + '" id="RamPerWallLvl19"/></td></tr><tr><td>20</td><td><input type="number" value="' + AR_FarmShaperSettings.RamPerWall[20] + '" id="RamPerWallLvl20"/></td></tr></table></div>';
- // hitkey settings
- menu += '<div id="AR_FSHitkeysSettings" style="display:none;"><table style="width:300px;margin:0 auto;"><tbody><tr><th colspan="2">Verzamelplaats</th></tr><tr><td>WallBreaker-knop: </td><td><input type="text" name="AR_HitKeyWallBreakerButton" id="AR_HitKeyWallBreakerButton" class="AR_FSHitKeys" value="" data-keycode=""/></td></tr><tr><td>BB-Shaper-knop: </td><td><input type="text" name="AR_HitKeyBBShaperButton" id="AR_HitKeyBBShaperButton" class="AR_FSHitKeys" value="" data-keycode=""/></td></tr></tbody></table><div style="clear:both"></div></div>';
- // Cats settings
- menu += '<div id="AR_FSKataSettings" style="display:none;"><table style="float:left;width:45%;" class="vis"><tr><td><input type="checkbox" name="AR_FSactivateSpear" id="AR_FS_UnitActivate_spear" value=""></td><td>Aantal speer per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['spear'].amount + '" id="AR_FarmShaperAmount_spear"/></td></tr><tr><td><input type="checkbox" name="AR_FSactivateSword" id="AR_FS_UnitActivate_sword" value=""></td><td>Aantal zwaard per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['sword'].amount + '" id="AR_FarmShaperAmount_sword"/></td></tr><tr><td><input type="checkbox" name="AR_FSactivateAxe" id="AR_FS_UnitActivate_axe" value=""></td><td>Aantal bijl per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['axe'].amount + '" id="AR_FarmShaperAmount_axe"/></td></tr><tr><td><input type="checkbox" name="AR_FSactivateArcher" id="AR_FS_UnitActivate_archer" value=""></td><td>Aantal boog per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['archer'].amount + '" id="AR_FarmShaperAmount_archer"/></td></tr><tr><td><input type="checkbox" name="AR_FSactivateSpy" id="AR_FS_UnitActivate_spy" value=""></td><td>Aantal Scouts per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['spy'].amount + '" id="AR_FarmShaperAmount_spy"/></td></tr><tr><td><input type="checkbox" name="AR_FSactivateLight" id="AR_FS_UnitActivate_light" value=""></td><td>Aantal LC per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['light'].amount + '" id="AR_FarmShaperAmount_light"/></td></tr><tr><td><input type="checkbox" name="AR_FSactivateMarcher" id="AR_FS_UnitActivate_marcher" value=""></td><td>Aantal BB per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['marcher'].amount + '" id="AR_FarmShaperAmount_marcher"/></td></tr><tr><td><input type="checkbox" name="AR_FSactivateHeavy" id="AR_FS_UnitActivate_heavy" value=""></td><td>Aantal ZC per aanval:</td><td><input type="number" value="' + AR_FarmShaperSettings.troops['heavy'].amount + '" id="AR_FarmShaperAmount_heavy"/></td></tr><tr><td colspan="3"> </td></tr><tr><td><input type="checkbox" id="AR_SortOnDistance" value=""></td><td colspan="2">Coördinaten sorteren op afstand</td></tr><tr><td><input type="checkbox" id="AR_MultipleAttacksOneTarget" value=""></td><td colspan="2">Meerdere kata-aanvallen per dorp</td></tr><tr><td><input type="checkbox" id="AR_ShapeVillagesWithHighMines" value=""></td><td colspan="2">dorpen met uitgebouwde mijnen ook shapen</td></tr></table><div style="float:left;width:45%;margin-left:20px;" id="AR_FarmShaper_Buildings"><div style="padding: 2px;" id="AR_FarmShaper_Hoofdgebouw"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Hoofdgebouw") + 1) + '"/><span style="width:113px;display:block;float:left;">Hoofdgebouw</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Hoofdgebouw + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Kazerne"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Kazerne") + 1) + '"/><span style="width:113px;display:block;float:left;">Kazerne</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Kazerne + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Stal"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Stal") + 1) + '"/><span style="width:113px;display:block;float:left;">Stal</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Stal + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Werkplaats"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Werkplaats") + 1) + '"/><span style="width:113px;display:block;float:left;">Werkplaats</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Werkplaats + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Adelshoeve"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Adelshoeve") + 1) + '"/><span style="width:113px;display:block;float:left;">Adelshoeve</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Adelshoeve + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Smederij"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Smederij") + 1) + '"/><span style="width:113px;display:block;float:left;">Smederij</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Smederij + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Verzamelplaats"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Verzamelplaats") + 1) + '"/><span style="width:113px;display:block;float:left;">Verzamelplaats</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Verzamelplaats + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Standbeeld"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Standbeeld") + 1) + '"/><span style="width:113px;display:block;float:left;">Standbeeld</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Standbeeld + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Marktplaats"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Marktplaats") + 1) + '"/><span style="width:113px;display:block;float:left;">Marktplaats</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Marktplaats + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Houthakkers"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Houthakkers") + 1) + '"/><span style="width:113px;display:block;float:left;">Houthakkers</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Houthakkers + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Leemgroeve"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Leemgroeve") + 1) + '"/><span style="width:113px;display:block;float:left;">Leemgroeve</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Leemgroeve + '"></div><div style="padding: 2px;" id="AR_FarmShaper_IJzermijn"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("IJzermijn") + 1) + '"/><span style="width:113px;display:block;float:left;">IJzermijn</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.IJzermijn + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Boerderij"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Boerderij") + 1) + '"/><span style="width:113px;display:block;float:left;">Boerderij</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Boerderij + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Opslagplaats"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Opslagplaats") + 1) + '"/><span style="width:113px;display:block;float:left;">Opslagplaats</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Opslagplaats + '"></div><div style="padding: 2px;" id="AR_FarmShaper_Muur"><input type="number" style="width:30px;float:left;" value="' + (AR_FarmShaperSettings.DemolitionOrder.indexOf("Muur") + 1) + '"/><span style="width:113px;display:block;float:left;">Muur</span><input type="number" value="' + AR_FarmShaperSettings.CatsTargets.Muur + '"></div></div></div>';
- a.innerHTML = menu;
- for( var key in AR_FarmShaperSettings.troops ) {
- $( '#AR_FS_UnitActivate_' + key ).prop( "checked", AR_FarmShaperSettings.troops[key].activated );
- }
- $( '#AR_SortOnDistance' ).prop( 'checked', AR_FarmShaperSettings.SortOnDistance );
- $( '#AR_MultipleAttacksOneTarget' ).prop( 'checked', AR_FarmShaperSettings.MultipleAttacksOneTarget );
- $( '#AR_ShapeVillagesWithHighMines' ).prop( 'checked', AR_FarmShaperSettings.shapeVillagesWithHighMines );
- for(var hotkey in AR_FarmShaperSettings.hotkeys ) {
- if( AR_FarmShaperSettings.hotkeys.hasOwnProperty( hotkey ) ) {
- var keyCode = AR_FarmShaperSettings.hotkeys[hotkey];
- $("#"+hotkey).val(keyCodeMap[keyCode]).attr('data-keycode', keyCode);
- }
- }
- var $FSMenu = $(".AR_FSMenu");
- $("#AR_FSWallBreaker").on("click", function(){
- if (!$(this).closest('td').hasClass('selected')) {
- $("#AR_FSKataSettings, #AR_FSHitkeysSettings").css('display', 'none');
- $("#AR_FSWallBreakerSettings").css('display', 'block');
- $FSMenu.find(".selected").removeClass("selected");
- $(this).closest('td').addClass("selected");
- }
- });
- $("#AR_FSHitkeys").on("click", function(){
- if (!$(this).closest('td').hasClass('selected')) {
- $("#AR_FSWallBreakerSettings, #AR_FSKataSettings").css('display', 'none');
- $("#AR_FSHitkeysSettings").css('display', 'block');
- $FSMenu.find(".selected").removeClass("selected");
- $(this).closest('td').addClass("selected");
- }
- });
- $("#AR_FSKata").on("click", function(){
- if (!$(this).closest('td').hasClass('selected')) {
- $("#AR_FSWallBreakerSettings, #AR_FSHitkeysSettings").css('display', 'none');
- $("#AR_FSKataSettings").css('display', 'block');
- $FSMenu.find(".selected").removeClass("selected");
- $(this).closest('td').addClass("selected");
- }
- });
- $(".AR_FSHitKeys").on('keyup', function(e){
- $(this).val(keyCodeMap[e.which]).attr('data-keycode', e.which);
- });
- $( '#AR_FarmShaperSettingsPopupSluiten' ).on( 'click', function () {
- AR_FarmShaperSettings.RamPerWall = {
- 1 : parseInt( $( '#RamPerWallLvl1' ).val() ),
- 2 : parseInt( $( '#RamPerWallLvl2' ).val() ),
- 3 : parseInt( $( '#RamPerWallLvl3' ).val() ),
- 4 : parseInt( $( '#RamPerWallLvl4' ).val() ),
- 5 : parseInt( $( '#RamPerWallLvl5' ).val() ),
- 6 : parseInt( $( '#RamPerWallLvl6' ).val() ),
- 7 : parseInt( $( '#RamPerWallLvl7' ).val() ),
- 8 : parseInt( $( '#RamPerWallLvl8' ).val() ),
- 9 : parseInt( $( '#RamPerWallLvl9' ).val() ),
- 10: parseInt( $( '#RamPerWallLvl10' ).val() ),
- 11: parseInt( $( '#RamPerWallLvl11' ).val() ),
- 12: parseInt( $( '#RamPerWallLvl12' ).val() ),
- 13: parseInt( $( '#RamPerWallLvl13' ).val() ),
- 14: parseInt( $( '#RamPerWallLvl14' ).val() ),
- 15: parseInt( $( '#RamPerWallLvl15' ).val() ),
- 16: parseInt( $( '#RamPerWallLvl16' ).val() ),
- 17: parseInt( $( '#RamPerWallLvl17' ).val() ),
- 18: parseInt( $( '#RamPerWallLvl18' ).val() ),
- 19: parseInt( $( '#RamPerWallLvl19' ).val() ),
- 20: parseInt( $( '#RamPerWallLvl20' ).val() )
- };
- for( var key in AR_FarmShaperSettings.troops ) {
- AR_FarmShaperSettings.troops[ key ].activated = $( '#AR_FS_UnitActivate_' + key ).is( ':checked' );
- AR_FarmShaperSettings.troops[ key ].amount = parseInt( $( '#AR_FarmShaperAmount_' + key ).val() );
- }
- AR_FarmShaperSettings.SortOnDistance = $( '#AR_SortOnDistance' ).is( ':checked' );
- AR_FarmShaperSettings.MultipleAttacksOneTarget = $( '#AR_MultipleAttacksOneTarget' ).is( ':checked' );
- AR_FarmShaperSettings.shapeVillagesWithHighMines = $( '#AR_ShapeVillagesWithHighMines' ).is( ':checked' );
- AR_FarmShaperSettings.hotkeys = {
- "AR_HitKeyWallBreakerButton": $("#AR_HitKeyWallBreakerButton").attr('data-keycode')*1,
- "AR_HitKeyBBShaperButton": $("#AR_HitKeyBBShaperButton").attr('data-keycode')*1
- }
- $( '#AR_FarmShaper_Buildings' ).children( 'div' ).each( function () {
- var $this = $( this );
- var $this_input = $this.find( 'input' );
- var AR_newIndexBuilding = parseInt($this_input.first().val()) - 1;
- var AR_Building = $this.find( 'span' ).text();
- var AR_NewMinimumLvl = parseInt($this_input.last().val())
- if ( AR_Building.match( /Hoofdgebouw|Boerderij|Opslagplaats/i ) ) {
- if ( AR_NewMinimumLvl < 1 ) {
- AR_FarmShaperSettings.CatsTargets[AR_Building] = 1;
- } else {
- AR_FarmShaperSettings.CatsTargets[AR_Building] = AR_NewMinimumLvl;
- }
- } else {
- AR_FarmShaperSettings.CatsTargets[AR_Building] = AR_NewMinimumLvl;
- }
- AR_FarmShaperSettings.DemolitionOrder[AR_newIndexBuilding] = AR_Building;
- } )
- localStorage.setItem( 'AR_FarmShaperSettings', JSON.stringify( AR_FarmShaperSettings ) );
- location.reload();
- } )
- } );
- // switch to see on which page the user is and do the stuff on the right page
- switch ( game_data.screen ) {
- case "am_farm":
- var $am_widget_farm = $( "#am_widget_Farm" ); //Cache selectors we use multiple times
- var $am_widget_farm_tr = $am_widget_farm.find( 'tr' );
- $am_widget_farm.find( "h4" ).first().after('<table class="vis"><tr><th>FarmShaper: </th><td><input type="button" id="AR_FarmShaper_Buildings" value="Gebouwlvls opslaan"/></td><td><input type="button" id="AR_FarmShaper_Wall" value="Muurlvls opslaan"/></td><td id="AR_FarmShaper_Last_td"><input type="button" id="AR_FarmShaper_remove_old_list" value="oude gegevens wissen"/></td></tr><table>')
- $( '#AR_FarmShaper_Wall' ).click( function () {
- var indexCoordsColumn = $am_widget_farm_tr.find( 'th:contains("Dorp")' ).index();
- var indexWallColumn = $am_widget_farm_tr.find( 'th:has(img[src*="wall.png"])' ).index();
- $am_widget_farm.find( 'tr[class*="report"]' ).each( function () {
- var $this_td = $( this ).find( 'td' );
- var $this_td_coordsColumn_a = $this_td.eq( indexCoordsColumn ).find( 'a' );
- var coords = $this_td.eq( indexCoordsColumn ).text().match( /\d{1,3}\|\d{1,3}/ );
- var wall = parseInt( $this_td.eq( indexWallColumn ).text() );
- if ( wall > 0 ) {
- AR_FarmShaper_Coords_WallLvls[coords] = wall;
- $this_td_coordsColumn_a.text( "FarmShaper: Het muurlevel is opgeslagen!" );
- } else if( isNaN(wall) ) {
- $this_td_coordsColumn_a.text( "FarmShaper: Het muurlevel is onbekend" );
- } else {
- $this_td_coordsColumn_a.text( "FarmShaper: De muur is lvl 0 " );
- }
- } );
- localStorage['AR_FarmShaper_Coords_WallLvls'] = JSON.stringify( AR_FarmShaper_Coords_WallLvls );
- $( '#AR_FarmShaper_Last_td' ).after( '<td style="font-weight:bold;">de dorpen op deze pagina zijn opgeslagen</td>' );
- } );
- $( '#AR_FarmShaper_Buildings' ).click( function () {
- var indexCoordsColumn = $am_widget_farm_tr.find( 'th:contains("Dorp")' ).index();
- $am_widget_farm.find( 'tr[class*="report"]' ).each( function () {
- var $this_td = $( this ).find( 'td' );
- var $this_td_coordsColumn_a = $this_td.eq( indexCoordsColumn ).find( 'a' )
- var AR_ReportURL = $this_td_coordsColumn_a.attr( 'href' );
- $.ajax( {
- url: "https://" + location.host + AR_ReportURL,
- async: false,
- success: function ( result ) {
- var $result = $( result );
- var $attack_spy_building_data = $result.find( '#attack_spy_building_data' );
- var $attack_info_def = $result.find( '#attack_info_def' );
- if ( $attack_spy_building_data.length > 0 ) {
- var coord = $attack_info_def.find( '.village_anchor' ).text().match( /\d{1,3}\|\d{1,3}/ );
- var buildings = JSON.parse( $attack_spy_building_data.val() );
- AR_FarmShaper_Coords_BuildingLvls[coord] = {};
- $.each( buildings, function () {
- var name = this.name;
- var level = parseInt( this.level );
- if ( !name.match( /Kerk|Adelshoeve|Schuilplaats/i ) ) {
- AR_FarmShaper_Coords_BuildingLvls[coord][name] = level;
- if ( name.match( /Muur/i ) && level > 0 ) {
- AR_FarmShaper_Coords_WallLvls[coord] = level;
- }
- }
- })
- localStorage['AR_FarmShaper_Coords_BuildingLvls'] = JSON.stringify( AR_FarmShaper_Coords_BuildingLvls );
- localStorage['AR_FarmShaper_Coords_WallLvls'] = JSON.stringify( AR_FarmShaper_Coords_WallLvls );
- $this_td_coordsColumn_a.text( "FarmShaper: de gebouwlevels in dit rapport zijn opgeslagen!" );
- } else {
- $this_td_coordsColumn_a.text( 'FarmShaper: Geen gebouwlevels gevonden!' );
- }
- }
- } ).fail( function () {
- alert( "error" );
- } )
- } );
- $( '#AR_FarmShaper_Last_td' ).after( '<td style="font-weight:bold;">de dorpen op deze pagina zijn opgeslagen</td>' );
- } );
- $( '#AR_FarmShaper_remove_old_list' ).click( function () {
- delete localStorage['AR_FarmShaper_Coords_WallLvls'];
- AR_FarmShaper_Coords_WallLvls = {};
- delete localStorage['AR_FarmShaper_Coords_BuildingLvls'];
- AR_FarmShaper_Coords_BuildingLvls = {};
- alert( 'oude gegevens zijn gewist' );
- } );
- break;
- case "place":
- if ( location.href.match( 'try=confirm' ) ) {
- if ( localStorage['AR_FarmShaperKataTarget'] != undefined ) {
- $( "select[name='building']" ).val( $( 'option:contains(' + localStorage['AR_FarmShaperKataTarget'] + ')' ).val() );
- delete localStorage['AR_FarmShaperKataTarget'];
- }
- } else {
- var villagesToGoForFarmShaper_Wall = $.map( AR_FarmShaper_Coords_WallLvls, function ( n, i ) { return i; } ).length;
- var villagesToGoForFarmShaper_Buildings = $.map( AR_FarmShaper_Coords_BuildingLvls, function ( n, i ) { return i; } ).length;
- $( '.modemenu' ).find(' tr:has(td:contains("Bevelen"))' ).before('<tr><td style="min-width: 80px;"><a href="#" id="AR_StartFarmShaper_Wall">Wall Breaker ( ' + villagesToGoForFarmShaper_Wall + ' )</a></td><td style="min-width: 80px;"><a href="#" id="AR_StartFarmShaper_Buildings">Barb Shaper ( ' + villagesToGoForFarmShaper_Buildings + ' )</a></td></tr>');
- $( '#AR_StartFarmShaper_Wall' ).click( function () {
- FarmShaperPlace( AR_FarmShaper_Coords_WallLvls, "wall" );
- } );
- $( '#AR_StartFarmShaper_Buildings' ).click( function () {
- FarmShaperPlace( AR_FarmShaper_Coords_BuildingLvls, "buildings" );
- } );
- $( document ).on( "keydown", function( event ) {
- switch ( event.which ) {
- case AR_FarmShaperSettings.hotkeys.AR_HitKeyWallBreakerButton:
- FarmShaperPlace( AR_FarmShaper_Coords_WallLvls, "wall" );
- break;
- case AR_FarmShaperSettings.hotkeys.AR_HitKeyBBShaperButton:
- FarmShaperPlace( AR_FarmShaper_Coords_BuildingLvls, "buildings" );
- break;
- default:
- break;
- }
- } )
- }
- break;
- case "report":
- var $content_value = $( '#content_value' );
- var $content_value_h2 = $content_value.find( 'h2' );
- $content_value_h2.after('<div style="position: relative;"><text id="AR_FarmShaper" style="position: absolute; top: -20px; left: 170px; display: none;">FarmShaper: Loading..</text></div>')
- $( '.modemenu' ).find( 'tr' ).last().after('<tr><td style="background-color: #ebd6ab"> </td></tr><tr><th style="min-width: 80px">FarmShaper </th></tr><tr style="display:none"><td style="min-width: 80px;"><input type="button" id="AR_FarmShaper_Save_Buildings_Fast" value="Gebouwlvls opslaan"/></td></tr><tr><td style="min-width: 80px;"><input type="button" id="AR_FarmShaper_remove_old_list" value="Oude gegevens wissen"/></td></tr>');
- $( '#AR_FarmShaper_remove_old_list' ).click( function () {
- delete localStorage['AR_FarmShaper_Coords_WallLvls'];
- AR_FarmShaper_Coords_WallLvls = {};
- delete localStorage['AR_FarmShaper_Coords_BuildingLvls'];
- AR_FarmShaper_Coords_BuildingLvls = {};
- alert( 'oude gegevens zijn gewist' );
- } );
- if ( location.href.match( 'view=' ) ) {
- $( '#AR_FarmShaper' ).css( 'display', 'block' );
- var $attack_spy_building_data = $( '#attack_spy_building_data' );
- var $attack_info_def = $( '#attack_info_def' );
- if ( $attack_info_def.find( 'tr' ).first().find( 'a' ).length < 1 ) {
- if ( $attack_spy_building_data.length > 0 ) {
- var coord = $attack_info_def.find( '.village_anchor' ).text().match( /\d{1,3}\|\d{1,3}/ );
- var buildings = JSON.parse( $attack_spy_building_data.val() );
- AR_FarmShaper_Coords_BuildingLvls[coord] = {};
- $.each( buildings, function () {
- var name = this.name;
- var level = parseInt( this.level );
- if ( !name.match( /Kerk|Schuilplaats/i ) ) {
- AR_FarmShaper_Coords_BuildingLvls[coord][name] = level;
- if ( name.match( /Muur/i ) && level > 0 ) {
- AR_FarmShaper_Coords_WallLvls[coord] = level;
- }
- }
- })
- localStorage['AR_FarmShaper_Coords_BuildingLvls'] = JSON.stringify( AR_FarmShaper_Coords_BuildingLvls );
- localStorage['AR_FarmShaper_Coords_WallLvls'] = JSON.stringify( AR_FarmShaper_Coords_WallLvls );
- $( '#AR_FarmShaper' ).text( "FarmShaper: de gebouwlevels in dit rapport zijn opgeslagen!" );
- } else {
- $( '#AR_FarmShaper' ).text( 'FarmShaper: Geen gebouwlevels gevonden!' );
- }
- } else {
- $( '#AR_FarmShaper' ).text( 'FarmShaper: Werkt alleen bij verlaten dorpen!' );
- }
- } else {
- var $AR_FarmShaper_Save_Buildings_Fast = $( '#AR_FarmShaper_Save_Buildings_Fast' );
- $AR_FarmShaper_Save_Buildings_Fast.closest( 'tr' ).css( 'display', 'block' );
- $AR_FarmShaper_Save_Buildings_Fast.on( 'click', function () {
- $( '#AR_FarmShaper' ).css( 'display', 'block' );
- $( '#report_list' ).find( 'tr' ).each( function () {
- var $this = $( this );
- var $this_td = $this.find( 'td' );
- if ( $this_td.has( 'img[src*="farm.png"]' ).length > 0 || $this_td.has( 'img[src*="attack"]' ).length > 0 ) {
- var AR_ReportURL = $this.find( '.quickedit-content' ).find( 'a' ).attr( 'href' );
- $.ajax( {
- url: "https://" + location.host + AR_ReportURL,
- async: false,
- success: function ( result ) {
- var $result = $( result );
- var $attack_spy_building_data = $result.find( '#attack_spy_building_data' );
- var $attack_info_def = $result.find( '#attack_info_def' );
- if ( $attack_info_def.find( 'tr' ).first().find( 'a' ).length < 1 ) {
- if ( $attack_spy_building_data.length > 0 ) {
- var coord = $attack_info_def.find( '.village_anchor' ).text().match( /\d{1,3}\|\d{1,3}/ );
- var buildings = JSON.parse( $attack_spy_building_data.val() );
- AR_FarmShaper_Coords_BuildingLvls[coord] = {};
- $.each( buildings, function () {
- var name = this.name;
- var level = parseInt( this.level );
- if ( !name.match( /Kerk|Schuilplaats/i ) ) {
- AR_FarmShaper_Coords_BuildingLvls[coord][name] = level;
- if ( name.match( /Muur/i ) && level > 0 ) {
- AR_FarmShaper_Coords_WallLvls[coord] = level;
- }
- }
- })
- localStorage['AR_FarmShaper_Coords_BuildingLvls'] = JSON.stringify( AR_FarmShaper_Coords_BuildingLvls );
- localStorage['AR_FarmShaper_Coords_WallLvls'] = JSON.stringify( AR_FarmShaper_Coords_WallLvls );
- $this.find( '.quickedit-label' ).text( "FarmShaper: de gebouwlevels in dit rapport zijn opgeslagen!" );
- } else {
- $this.find( '.quickedit-label' ).text( 'FarmShaper: Geen gebouwlevels gevonden!' );
- }
- } else {
- $this.find( '.quickedit-label' ).text( 'FarmShaper: Werkt alleen bij verlaten dorpen!' );
- }
- }
- } ).fail( function () {
- alert( "error" );
- } )
- }
- } )
- $( '#AR_FarmShaper' ).text( 'FarmShaper: Opgeslagen!' );
- } )
- }
- break;
- }
- // $( document ).on( "keypress", function( event ) {
- // switch ( event.which ) {
- // case AR_FarmShaperSettings.hotkeys.WallB
- // }
- // } )
- } );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement