/*maps= [[1, 15, 150, 1800, 15, 0, 0, 60*30, 2, [0, 1, 0], [0, 0, 0], [0, 0, 0]], [3, 45, 600, 8000, 15, 0, 0, 60*32, 3, [0, 2.71, .51], [0, .03, .02], [0, 0, 0]], [5, 100, 1000, 18000, 15, 0, 0, 60*34, 5, [0, 4, .61], [0, .06, .03], [0, 0.002, 0]], [8, 800, 1700, 35000, 10, 0, 0, 60*36, 2, [0, 2, 3], [0, .07, .1], [0, .0004, .0003]], [12, 1700, 2500, 60000, 15, 0, 0, 60*38, 6, [0, 5, 4], [0, .2, .12], [0, .0005, .0004]], [16, 2900, 3400, 90000, 10, 0, 0, 60*40, 4, [0, 8.5, 8], [0, .25, .25], [0, .0005, .0005]], [13, 2900, 5000, 100000, 10, 0, 0, 60*40, 3, [0, 12, 11], [0, 2, 2], [0, .001, .001]]]*/ var maps = []; var currentMapInfoNum = 0; for(var level = 0; level < 50; level++) { if(level % 17 === 0) createMap(maps, level, 2,'start'); if(level % 17 === 1) createMap(maps, level, 3, 'soldier'); if(level % 17 === 2) createMap(maps, level, 5, 'soldier'); if(level % 17 === 3) createMap(maps, level, 2, 'spear'); if(level % 17 === 4) createMap(maps, level, 6, 'soldier'); if(level % 17 === 5) createMap(maps, level, 4, 'both'); if(level % 17 === 6) createMap(maps, level, 3, 'spear'); if(level % 17 === 7) createMap(maps, level, 4, 'soldier'); if(level % 17 === 8) createMap(maps, level, 2, 'both'); if(level % 17 === 9) createMap(maps, level, 5, 'spear'); if(level % 17 === 10) createMap(maps, level, 4, 'both'); if(level % 17 === 11) createMap(maps, level, 2, 'spear'); if(level % 17 === 12) createMap(maps, level, 3, 'soldier'); if(level % 17 === 13) createMap(maps, level, 5, 'soldier'); if(level % 17 === 14) createMap(maps, level, 3, 'both'); if(level % 17 === 15) createMap(maps, level, 4, 'spear'); if(level % 17 === 16) createMap(maps, level, 5, 'soldier'); } //level is incrementing, the index. lanes is 2-6 function createMap(maps, level, lanes, type) { //var extraDifficulty = (((level+1)/2)|0) var theMap = []; theMap[0] = Math.floor(Math.pow(1.6, level+1)); //Base Gold theMap[1] = Math.floor(15*Math.pow(1.05, level)*(level*level*.5+1)+level*10); //Territory Gain (with Bonus) theMap[2] = Math.floor((150*Math.pow(1.06, level))*(level*2+1)); //Enemy Fence Health theMap[3] = Math.floor((1800*Math.pow(1.5, level)*(level+1))); //Enemy Wall Health theMap[4] = (lanes===2&&type!=='start'?10:15); //Spawn Timer theMap[5] = 0; //Tower Number TODO theMap[6] = 0; //Tower Damage TODO theMap[7] = 60*(10+level*2); //Cooldown on Bonus theMap[8] = lanes; //Lane Count if(type === 'start') { theMap[9] = [0, 1, 0]; theMap[10] = [0, 0, 0]; } else if(type === 'soldier') { theMap[9] = [0, 1.4*level+1, .6*level]; theMap[10] = [0, .02*level, .008*(level+1)]; } else if(type === 'spear') { theMap[9] = [0, .6*level+1, .9*level]; theMap[10] = [0, .01*level, .016*(level+1)]; } else if(type === 'both') { theMap[9] = [0, level+1, .75*level]; theMap[10] = [0, .015*level, .012*(level+1)]; } theMap[11] = [0, ((level>1) ? (level-1)*.0015 : 0), ((level>3) ? (level-3)*.0025 : 0)]; //Unit Growth Per Spawn Per Spawn [Boss, Soldier Spear] maps[level] = theMap; } function createMapSpace() { var theString="