Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getEnnemisAtteignablesAOE() //Attention, je n'enregistre pas encore avec qu'elle arme je tape !
- {
- var x, y, j;
- var PM, trouve;
- var cellEndroitDeplace, cellVisee, cellulesAffectees;
- var ennemisAtteignables = [];
- var armesAOE = [], dernierElement;
- var miniRange, maxiRange;
- x = getCellX(getCell());
- y = getCellY(getCell());
- PM = getMP();
- armesAOE = getArmeAOE();
- debug("Voici nos armes AOE : "+armesAOE);
- for(var arme in armesAOE)
- {
- //debug("Test avec "+getWeaponName(arme));
- miniRange = getWeaponMinScope(arme);
- maxiRange = getWeaponMaxScope(arme);
- var k = 0;
- var cellDejaTestees = [];
- for(var posX = x - PM ; posX <= x + PM ; posX++)
- {
- for(var posY = y - k ; posY <= y + k ; posY++)
- {
- cellEndroitDeplace = getCellFromXY(posX, posY);
- j = 0;
- if(cellEndroitDeplace != null && !isObstacle(cellEndroitDeplace))
- for(var tirerX = posX - maxiRange ; tirerX <= posX + maxiRange ; tirerX++)
- {
- for(var tirerY = posY - j ; tirerY <= posY + j ; tirerY++)
- {
- cellVisee = getCellFromXY(tirerX, tirerY);
- if(search(cellDejaTestees, cellVisee) == null)
- if(cellVisee != null && lineOfSight(cellEndroitDeplace, cellVisee))
- if(getCellDistance(cellVisee, cellEndroitDeplace) >= miniRange)
- {
- mark(cellVisee, COLOR_GREEN);
- cellulesAffectees = getWeaponEffectiveArea(arme, cellVisee);
- for(var celluleTestee in cellulesAffectees)
- if(getLeekOnCell(celluleTestee) > -1)
- mark(cellVisee, COLOR_BLUE);
- push(cellDejaTestees, cellVisee);
- }
- }
- if(tirerX < posX) j++;
- else j--;
- }
- }
- if(posX < x) k++;
- else k--;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement