Advertisement
Guest User

f

a guest
May 28th, 2015
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. //--------------------------------
  2. //------- Code de base -----------
  3. //--------------------------------
  4.  
  5. // je prend une arme au debut pour gagner des point de sort
  6. var arme = [WEAPON_SHOTGUN,WEAPON_MAGNUM,WEAPON_PISTOL];
  7. if ( getWeapon() == null ) setWeapon(arme[1]);
  8. var vietotal = getTotalLife();
  9. var tourDeCombat = getTurn();
  10.  
  11.  
  12. // On récupère l'ennemi le plus proche
  13. var distanceEnemy = getCellDistance(getCell(getNearestEnemy()),getCell());
  14.  
  15. // trouver la meilleur arme
  16. // TROUVER la meilleur arme
  17. var tabMeilleurArme = [];
  18. tabMeilleurArme [0] = [];
  19. tabMeilleurArme [1] = [];
  20.  
  21. for (var i = 0; i <count (arme); i ++) {
  22. tabMeilleurArme [1] [i] = getWeaponEffects (arme [i]) [0] [2];
  23. tabMeilleurArme [0] [i] = i;
  24. }
  25. debug(tabMeilleurArme);
  26.  
  27. _sortByFunction(tabMeilleurArme[0], function(weapon)
  28. {return getWeaponEffects(tabMeilleurArme[1][weapon])[0][2];}, SORT_ASC);
  29. sort( tabMeilleurArme [1]);
  30.  
  31.  
  32. debug(tabMeilleurArme);
  33.  
  34.  
  35. //
  36. // On avance vers l'ennemi
  37. //moveToward(enemy);
  38. for (var i = 0; i < getMP(); i++){
  39. // sauf si on est a 14 case de l'enemy car etiencelle 10 po + 3 point de mouvement
  40. if( distanceEnemy !=14 || tourDeCombat >10 ){
  41. moveTowardCell( getCellToUseWeapon (arme[0], getNearestEnemy()) );
  42. }
  43. distanceEnemy = getCellDistance(getCell(getNearestEnemy()),getCell());
  44. }
  45.  
  46. // choix l'arme '
  47.  
  48. if (canUseWeapon(arme[0],getNearestEnemy())) {
  49. if ( getWeapon()!= arme[0]){
  50. setWeapon(arme[0]);
  51. useChip(CHIP_PROTEIN, getLeek());
  52. }
  53. }
  54. else if (canUseWeapon(arme[1],getNearestEnemy())) {
  55. if ( getWeapon()!= arme[1]){
  56. setWeapon(arme[1]);
  57. useChip(CHIP_PROTEIN, getLeek());}
  58. }
  59. else if (canUseWeapon(arme[2],getNearestEnemy())){
  60. if ( getWeapon()!= arme[2]){
  61. setWeapon(arme[2]);
  62. useChip(CHIP_PROTEIN, getLeek());}
  63. } // Attention : coûte 1 PT
  64.  
  65. //debug(distanceEnemy);
  66. // attaque
  67.  
  68. if (canUseWeapon(getWeapon(),getNearestEnemy())) {
  69. // On essaye de lui tirer dessus !
  70. for (var i = 0; i < 11; i++) {
  71. useWeapon(getNearestEnemy());
  72. }
  73.  
  74. }else
  75. if(distanceEnemy < 11 ){
  76. // 8 à 16 donc moyen 12
  77. //Dégâts de l'attaque = (Dégâts de base) * (1 + Force / 100)
  78. var degat = 8*(1+getForce()/100) - getAbsoluteShield() ;
  79. // 0 a 10 po
  80. if (getLife() != getTotalLife()) useChip(CHIP_CURE, getLeek());
  81. useChip(CHIP_SHIELD, getLeek());
  82. useChip(CHIP_HELMET, getLeek());
  83. if(degat > 1) {
  84. for (var i = 0; i < 4; i++) {useChip(CHIP_SPARK, getNearestEnemy() );}
  85. }
  86. useChip(CHIP_PROTEIN, getLeek());
  87.  
  88. }else{
  89. // bouclier + soin
  90. if (getLife() != getTotalLife())useChip(CHIP_CURE, getLeek());
  91. useChip(CHIP_SHIELD, getLeek());
  92. useChip(CHIP_HELMET, getLeek());
  93. useChip(CHIP_PROTEIN, getLeek());
  94. }
  95. // CHIP_BANDAGE
  96.  
  97. if (getLife() != getTotalLife())
  98. for (var i = 0; i < 4; i++) {useChip(CHIP_BANDAGE, getLeek());}
  99. useChip(CHIP_HELMET, getLeek());
  100.  
  101. function _sortByFunction(@___array, @___func, ___order)
  102. {
  103. // On attribue un poid a chaque valeur
  104. var ___values = [];
  105. for (var ___value in ___array)
  106. {
  107. var ___key = ___func(___value);
  108. if (___values[___key] === null) ___values[___key] = [];
  109. push(___values[___key], ___value);
  110. }
  111.  
  112. // On trie les valeurs
  113. keySort(___values, ___order);
  114.  
  115. // On remet sous la forme d'origine
  116. ___array = [];
  117. for (var ____values in ___values)
  118. for (var ___value in ____values)
  119. push(___array, ___value);
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement