Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.89 KB | None | 0 0
  1. javascript:var DEBUG=0;var archers=true;var FARM_RESERVE=00;var MIN_THRESHOLD_STATIC=1000;var config_prior_ar=[8,9,4,2,3,1,0,5,7,6];var config_prior_no_ar=[6,7,3,2,1,0,4,5];var units;var unitsNET;var costs;var OFF=0;var OFF_FAST=1;var OFF_AXE=2;var DEF_RAX=3;var DEF_NORMAL=4;var HC_DEF=5;var ARCH_DEF=6;var doc=document;if(window.frames.length>0)doc=window.main.document;var FARM_RESERVE=0;var temp_static=[0,0,0,0,0,0,0,0,0,0];var temp_ratio=[0,0,0,0,0,0,0,0,0,0];var temp_limit=[0,0,0,0,0,0,0,0,0,0];var config_static=[0,0,0,0,0,0,0,0,0,0];var config_ratio=[0,0,0,0,0,0,0,0,0,0];var config_limit=[0,0,0,0,0,0,0,0,0,0];var config_prior=[0,0,0,0,0,0,0,0,0,0];var food_remaining=0;var queue;var produced;var subconf=[0,0,0,0,0,0,0,0,0,0];function selectType(){var A=prompt("Which troop set do you wish to recruit?\n \n"+OFF+"=Offense_1 [0,1,3900,0,100,2700,700,0,350,10] \n"+OFF_FAST+"=Offense_2 [0,1,5200,0,100,2800,530,0,290,10] \n"+OFF_AXE+"=Off_Axe [0,0,24000,0,0,0,0,0,0,0]\n"+DEF_RAX+"=Defense_Rax [6700,7000,0,5500,500,0,0,0,0,40] \n"+DEF_NORMAL+"=Defense Normal [5700,6100,0,4500,500,0,0,500,0,40] \n"+HC_DEF+"=Defense HC [5200,0,0,1800,500,0,0,2000,0,50] \n"+ARCH_DEF+"=Defense_Arch [0,0,0,24000,0,0,0,0,0,0] \n","0");if(A==null){return false;}A=parseInt(A);if(A==OFF){temp_ratio=[0,1,3900,0,100,2700,700,0,350,10];temp_limit=[0,1,3900,0,100,2700,700,0,350,10];temp_static=[0,0,24000,0,0,0,0,0,0,0];FARM_RESERVE=0;}else if(A==OFF_FAST){temp_ratio=[0,1,4800,0,100,2800,530,0,290,10];temp_limit=[0,1,4800,0,100,2800,530,0,290,10];temp_static=[0,0,24000,0,0,0,0,0,0,0];FARM_RESERVE=0;}else if(A==OFF_AXE){temp_ratio=[0,1,24000,0,0,0,0,0,0,0];temp_limit=[0,1,24000,0,0,0,0,0,0,0];temp_static=[0,0,24000,0,0,0,0,0,0,0];FARM_RESERVE=0;}else if(A==DEF_RAX){temp_ratio=[6700,7000,0,5500,500,0,0,0,0,40];temp_limit=[6700,7000,0,5500,500,0,0,0,0,40];temp_static=[0,0,0,24000,0,0,0,0,0,0];FARM_RESERVE=0;}else if(A==DEF_NORMAL){temp_ratio=[5700,6100,0,4500,500,0,0,500,0,40];temp_limit=[5700,6100,0,4500,500,0,0,500,0,40];temp_static=[0,0,0,24000,0,0,0,0,0,0];FARM_RESERVE=0;}else if(A==HC_DEF){temp_ratio=[4500,0,0,2000,500,0,0,2000,0,50];temp_limit=[4500,0,0,2000,500,0,0,2000,0,50];temp_static=[0,0,0,24000,0,0,0,0,0,0];FARM_RESERVE=0;}else if(A==ARCH_DEF){temp_ratio=[0,0,0,24000,0,0,0,0,0,0];temp_limit=[0,0,0,24000,0,0,0,0,0,0];temp_static=[0,0,0,24000,0,0,0,0,0,0];FARM_RESERVE=0;}else {alert("Invalid type selected, try again.");return false;}if(false==archers){config_static[0]=temp_static[0]*temp_ratio[0];config_static[1]=temp_static[1]*temp_ratio[1];config_static[2]=temp_static[2]*temp_ratio[2];config_static[3]=temp_static[4]*temp_ratio[4];config_static[4]=temp_static[5]*temp_ratio[5];config_static[5]=temp_static[7]*temp_ratio[7];config_static[6]=temp_static[8]*temp_ratio[8];config_static[7]=temp_static[9]*temp_ratio[9];config_ratio[0]=temp_ratio[0];config_ratio[1]=temp_ratio[1];config_ratio[2]=temp_ratio[2];config_ratio[3]=temp_ratio[4];config_ratio[4]=temp_ratio[5];config_ratio[5]=temp_ratio[7];config_ratio[6]=temp_ratio[8];config_ratio[7]=temp_ratio[9];config_limit[0]=temp_limit[0];config_limit[1]=temp_limit[1];config_limit[2]=temp_limit[2];config_limit[3]=temp_limit[4];config_limit[4]=temp_limit[5];config_limit[5]=temp_limit[7];config_limit[6]=temp_limit[8];config_limit[7]=temp_limit[9];for(var B=0;B<config_prior.length;B++)config_prior[B]=config_prior_no_ar[B];}else {for(var B=0;B<config_ratio.length;B++){config_static[B]=temp_static[B]*temp_ratio[B];config_ratio[B]=temp_ratio[B];config_limit[B]=temp_limit[B];config_prior[B]=config_prior_ar[B];}}return true;}function arrayMin(A){var B=A[0];for(var C=1;C<A.length;C++){if(A[C]<B){B=A[C];}}return B;}function linearDivideArray(A,B){var C=[];if(A.length==B.length){for(var D=0;D<A.length;D++){if(B[D]!=0){C[D]=A[D]*1.0/B[D];}else{C[D]=0;}}}return C;}function linearAddArray(A,B){var C=[];if(A.length==B.length){for(var D=0;D<A.length;D++){C[D]=A[D]+B[D];}}return C;}function getUnitId(A){for(var B=0;B<units.length;B++){if(A==unitsNET[B]){return B;}}return -1;}function getTagsSubset(A,B){var C=doc.getElementsByTagName(A);var D=[];var E=0;for(var F=0;F<C.length;F++){if(C[F].className==B){D[E++]=C[F];}}return D;}function getTable(){var A=getTagsSubset('table','vis');var B;for(B=0;B<A.length;B++){try{if(A[B].rows[0].cells[0].innerHTML=='Village'){break;}}catch(e){}}return A[B];}function getQueue(A){var B=[0,0,0,0,0,0,0,0,0,0];for(var C=3;C<A.cells.length;C++){try{B[C-3]=parseInt(A.cells[C].childNodes[1].childNodes[1].firstChild.title,10);}catch(e){}if(isNaN(B[C-3])){B[C-3]=0;}}return B;}function getResources(A){var B=[0,0,0,0];var C=A.cells[1].textContent.split("\n");var D=A.cells[2].innerHTML.split('/');B[0]=parseInt(C[1].replace(".",""),10);B[1]=parseInt(C[2].replace(".",""),10);B[2]=parseInt(C[3].replace(".",""),10);B[3]=parseInt(D[1])-parseInt(D[0]);return B;}function getProduced(A){var B=[0,0,0,0,0,0,0,0,0,0];for(var C=3;C<A.cells.length;C++){try{B[C-3]=parseInt(A.cells[C].childNodes[1].textContent.split("\n")[2],10);}catch(e){}if(isNaN(B[C-3])){B[C-3]=0;}}return B;}function submitForm(){var A=doc.getElementsByTagName("input");var B;for(B=0;B<A.length;B++){if(A[B].type=="submit"){break;}}A[B].click();}function loopSetRecruits(A,B,C){if(DEBUG>=1)alert("ENTER\nconfigarray= "+A+"\nfactor= "+B+"\nsubconf= "+subconf);var D;for(D=0;D<A.length;D++){i=config_prior[D];if(A[i]>0){var E=costs[i][3];var F=config_limit[i]-(queue[i]+produced[i]+subconf[i]);var G=Math.floor(food_remaining/E);var H=Math.min(F,G);if(H<0)H=0;var I=0;if(C){I=H;}else {I=A[i]-queue[i];}I-=subconf[i];if(DEBUG>=2){alert("MIDDLE\nindex= "+i+"\nfood_rem= "+food_remaining+"\nfpu= "+E+"\nmax_lim= "+F+"\nmax_pos= "+G+"\nrec_rat= "+I);}if(I>0){I=Math.floor(B*I);if(I>H){I=H;}food_remaining=food_remaining-(E*I);subconf[i]+=I;}}}if(DEBUG>=1)alert("EXIT\nconfigarray= "+A+"\nfactor= "+B+"\nsubconf= "+subconf);}function loopTroopRatio(A){var B;var C;var D;var E;var F;var G;var H=0;var I=1;for(B=0;B<A.length;B++){C=costs[B][3];D=config_limit[B]-(queue[B]+produced[B]+subconf[B]);F=D;if(F<0)F=0;var J=A[B]-queue[B]-subconf[B];if(J>F)J=F;if(J<0)J=0;H+=(J*C);if(DEBUG>=2){alert("index= "+B+"\nrec_des= "+J);}}if(H>food_remaining)I=food_remaining/H;if(DEBUG>=1)alert("TROOP_RATIO\nfood_req= "+H+"\nfood_rem= "+food_remaining+"\nratio_factor= "+I);loopSetRecruits(A,I,false);loopSetRecruits(A,1,false);}function massRecruit(){if(doc.URL.match('screen=train')&&doc.URL.match('mode=mass')){var A=getTable().rows;if(archers){units=['spear','sword','axe','archer','spy','light','marcher','heavy','ram','catapult'];unitsNET=['Spear Fighter','Swordsman','Axeman','Archer','Scout','Light Cavalry','Mounted Archer','Heavy Cavalry','Ram','Catapult'];costs=[[50,30,10,1],[30,30,70,1],[60,30,40,1],[100,30,60,1],[50,50,20,2],[125,100,250,4],[250,100,150,5],[200,150,600,6],[300,200,200,5],[320,400,100,8]];}else{units=['spear','sword','axe','spy','light','heavy','ram','catapult'];unitsNET=['Spear Fighter','Swordsman','Axeman','Scout','Light Cavalry','Heavy Cavalry','Ram','Catapult'];costs=[[50,30,10,1],[30,30,70,1],[60,30,40,1],[50,50,20,2],[125,100,250,4],[200,150,600,6],[300,200,200,5],[320,400,100,8]];}for(r=1;r<A.length;r++){var B;var C=false;var D=getResources(A[r]);var E=[0,0,0,0];subconf=[0,0,0,0,0,0,0,0,0,0];food_remaining=D[3]-FARM_RESERVE;if(food_remaining<0)food_remaining=0;queue=getQueue(A[r]);produced=getProduced(A[r]);var F=(food_remaining<MIN_THRESHOLD_STATIC);loopSetRecruits(config_static,1,F);loopTroopRatio(config_ratio);for(var B=0;B<config_prior.length;B++){for(var H=0;H<4;H++){E[H]+=costs[B][H]*subconf[B];}}var I=linearDivideArray(D,E);var J=arrayMin(linearDivideArray(D,E));if(J>1.0){J=1.0;}if(DEBUG>=1)alert("FINAL\nfactor= "+J+"\nsubconf= "+subconf);for(B=0;B<units.length;B++){var K=subconf[B]*J;if(K<0){K=0;}if(K!=0){if(A[r].cells[3+B].childNodes[3]){var L=A[r].cells[3+B].childNodes[3];try{L.defaultValue=parseInt(K,10);}catch(e){}}}}}stop();}else{alert('Script only works on the mass recruitment page');}}if(selectType()){massRecruit();doc.getElement("input:value('Recruit')").focus()}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement