Code viewer for Mind: Complex Mind (clone by Kus...

// Cloned by Kushagra on 29 Nov 2020 from Mind "Complex Mind (clone by Kushagra) (clone by Kushagra)" by Kushagra 
// Please leave this clone trail here.
 
var enemyquadrant,agentquadrant,old_position,first_move_agent=0;function findBestPath2(i,r,e){var s,o=[],d=[],g=[];for(d.push(r);d.length>0;){for(var a=0,t=0;t<d.length;t++)d[t].f<d[a].f&&(a=t);var f=d[a];if(f==e){var n=f;for(o.push(n);n.previous;)n.previous==r&&(s=n),o.push(n.previous),n=n.previous;displayPathAgent(o);break}removeFromArray(d,f),g.push(f);for(var z=f.neighbors,_=0;_<z.length;_++){var p=z[_];if(!g.includes(p)&&!occupied(p.i,p.j)){var c=f.g+1;d.includes(p)?c<p.g&&(p.g=c):(p.g=c,d.push(p)),p.h=heuristic(p,e),p.f=p.g+p.f,p.previous=f}}}return s}AB.mind.getAction=function(i){var r,e,s,o=i.position[0],d=i.position[1],g=i.position[2],a=i.position[3],t=0;if(g>gridsize/3&&g<gridsize/3*2&&a>gridsize/3&&a<gridsize/3*2&&1==first_move_agent&&o!=old_target_position_i&&d!=old_target_position_j)r=old_target_position_i,e=old_target_position_j,s=search_grid[r][e];else{if(g>=gridsize/2&&a<=gridsize/2){t=0;for(var f=AB.randomPick(1,2,3);f<=gridsize/2;f++){for(var n=gridsize-2;n>gridsize/2;n--)if(!occupied(f,n)){r=f,e=n,t=1;break}if(1==t)break}}else if(g<=gridsize/2&&a<=gridsize/2){t=0;for(f=AB.randomPick(gridsize-2,gridsize-3,gridsize-4);f>gridsize/2;f--){for(n=gridsize-2;n>=gridsize/2;n--)if(!occupied(f,n)){r=f,e=n,t=1;break}if(1==t)break}}else if(g<=gridsize/2&&a>=gridsize/2){t=0;for(f=AB.randomPick(gridsize-2,gridsize-3,gridsize-4);f>gridsize/2;f--){for(n=0;n<=gridsize/2;n++)if(!occupied(f,n)){r=f,e=n,t=1;break}if(1==t)break}}else if(g>=gridsize/2&&a>=gridsize/2){t=0;for(f=AB.randomPick(1,2,3);f<=gridsize/2;f++){for(n=0;n<=gridsize/2;n++)if(!occupied(f,n)){r=f,e=n,t=1;break}if(1==t)break}}s=search_grid[r][e]}var z,_=search_grid[o][d],p=findBestPath2(search_grid,_,s);for(old_target_position_i=r,old_target_position_j=e,first_move_agent=1,f=0;f<gridsize;f++)for(n=0;n<gridsize;n++)(z=search_grid[f][n]).f=0,z.h=0,z.g=0,z.previous=void 0;return p};