Advertisement
TheTintin

attack

Nov 5th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. Attaque le poireau cible en utilisant un nombre max de PM en utilisant l'arme/puce disponible qui fait le plus de dégâts.
  3.  
  4. Paramètres :
  5. leek : Poireau cible
  6. mp : Nombre max de MP à utiliser
  7.  
  8. Opérations : Variable en fonction des armes/puces équipées
  9. Niveau : 36
  10.  
  11. Auteur : TheTintin
  12. */
  13.  
  14. function attack (leek, mp) {
  15.     var weaponsOrChips = [];
  16.     var weapons = getWeapons();
  17.     var chips = getChips();
  18.    
  19.     var effects;
  20.    
  21.     for (var weapon in weapons) {
  22.         effects = getWeaponEffects(weapon);
  23.         for (var effect in effects) {
  24.             if (effect[0] == EFFECT_DAMAGE) {
  25.                 weaponsOrChips[weapon] = round((effect[1] + effect[2]) / 2);
  26.             }
  27.         }
  28.     }
  29.    
  30.     for (var chip in chips) {
  31.         effects = getChipEffects(chip);
  32.         for (var effect in effects) {
  33.             if (effect[0] == EFFECT_DAMAGE) {
  34.                 weaponsOrChips[chip] = round((effect[1] + effect[2]) / 2);
  35.             }
  36.         }
  37.     }
  38.  
  39.     assocSort(weaponsOrChips, SORT_DESC);
  40.     var cellToUse, ptCost;
  41.     var range = [];
  42.    
  43.     for (var cle : var value in weaponsOrChips) {
  44.         if (isWeapon(cle)) {
  45.             cellToUse = getCellToUseWeapon(cle, leek);
  46.             ptCost = getWeaponCost(cle);
  47.            
  48.             if (ptCost > getTP()) {
  49.                 continue;
  50.             }
  51.            
  52.             if (getCellDistance(getCell(), cellToUse) <= mp) {
  53.                 moveTowardCell(cellToUse);
  54.                 if (getWeapon() != cle) {
  55.                     setWeapon(cle);
  56.                 }
  57.                 useWeapon(leek);
  58.                 break;
  59.             }
  60.         } else if (isChip(cle)) {
  61.             if (getCooldown(cle) > 0) {
  62.                 continue;
  63.             }
  64.            
  65.             cellToUse = getCellToUseChip(cle, leek);
  66.             ptCost = getChipCost(cle);
  67.            
  68.             if (ptCost > getTP()) {
  69.                 continue;
  70.             }
  71.            
  72.             if (getCellDistance(getCell(), cellToUse) <= mp) {
  73.                 moveTowardCell(cellToUse);
  74.                 useChip(cle, leek);
  75.                 break;
  76.             }
  77.         }
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement