Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //--------------------------------
- //------- Code de base -----------
- //--------------------------------
- // je prend une arme au debut pour gagner des point de sort
- var arme = [WEAPON_SHOTGUN,WEAPON_MAGNUM,WEAPON_PISTOL];
- if ( getWeapon() == null ) setWeapon(arme[1]);
- var vietotal = getTotalLife();
- var tourDeCombat = getTurn();
- // On récupère l'ennemi le plus proche
- var distanceEnemy = getCellDistance(getCell(getNearestEnemy()),getCell());
- // trouver la meilleur arme
- // TROUVER la meilleur arme
- var tabMeilleurArme = [];
- tabMeilleurArme [0] = [];
- tabMeilleurArme [1] = [];
- for (var i = 0; i <count (arme); i ++) {
- tabMeilleurArme [1] [i] = getWeaponEffects (arme [i]) [0] [2];
- tabMeilleurArme [0] [i] = i;
- }
- debug(tabMeilleurArme);
- _sortByFunction(tabMeilleurArme[0], function(weapon)
- {return getWeaponEffects(tabMeilleurArme[1][weapon])[0][2];}, SORT_ASC);
- sort( tabMeilleurArme [1]);
- debug(tabMeilleurArme);
- //
- // On avance vers l'ennemi
- //moveToward(enemy);
- for (var i = 0; i < getMP(); i++){
- // sauf si on est a 14 case de l'enemy car etiencelle 10 po + 3 point de mouvement
- if( distanceEnemy !=14 || tourDeCombat >10 ){
- moveTowardCell( getCellToUseWeapon (arme[0], getNearestEnemy()) );
- }
- distanceEnemy = getCellDistance(getCell(getNearestEnemy()),getCell());
- }
- // choix l'arme '
- if (canUseWeapon(arme[0],getNearestEnemy())) {
- if ( getWeapon()!= arme[0]){
- setWeapon(arme[0]);
- useChip(CHIP_PROTEIN, getLeek());
- }
- }
- else if (canUseWeapon(arme[1],getNearestEnemy())) {
- if ( getWeapon()!= arme[1]){
- setWeapon(arme[1]);
- useChip(CHIP_PROTEIN, getLeek());}
- }
- else if (canUseWeapon(arme[2],getNearestEnemy())){
- if ( getWeapon()!= arme[2]){
- setWeapon(arme[2]);
- useChip(CHIP_PROTEIN, getLeek());}
- } // Attention : coûte 1 PT
- //debug(distanceEnemy);
- // attaque
- if (canUseWeapon(getWeapon(),getNearestEnemy())) {
- // On essaye de lui tirer dessus !
- for (var i = 0; i < 11; i++) {
- useWeapon(getNearestEnemy());
- }
- }else
- if(distanceEnemy < 11 ){
- // 8 à 16 donc moyen 12
- //Dégâts de l'attaque = (Dégâts de base) * (1 + Force / 100)
- var degat = 8*(1+getForce()/100) - getAbsoluteShield() ;
- // 0 a 10 po
- if (getLife() != getTotalLife()) useChip(CHIP_CURE, getLeek());
- useChip(CHIP_SHIELD, getLeek());
- useChip(CHIP_HELMET, getLeek());
- if(degat > 1) {
- for (var i = 0; i < 4; i++) {useChip(CHIP_SPARK, getNearestEnemy() );}
- }
- useChip(CHIP_PROTEIN, getLeek());
- }else{
- // bouclier + soin
- if (getLife() != getTotalLife())useChip(CHIP_CURE, getLeek());
- useChip(CHIP_SHIELD, getLeek());
- useChip(CHIP_HELMET, getLeek());
- useChip(CHIP_PROTEIN, getLeek());
- }
- // CHIP_BANDAGE
- if (getLife() != getTotalLife())
- for (var i = 0; i < 4; i++) {useChip(CHIP_BANDAGE, getLeek());}
- useChip(CHIP_HELMET, getLeek());
- function _sortByFunction(@___array, @___func, ___order)
- {
- // On attribue un poid a chaque valeur
- var ___values = [];
- for (var ___value in ___array)
- {
- var ___key = ___func(___value);
- if (___values[___key] === null) ___values[___key] = [];
- push(___values[___key], ___value);
- }
- // On trie les valeurs
- keySort(___values, ___order);
- // On remet sous la forme d'origine
- ___array = [];
- for (var ____values in ___values)
- for (var ___value in ____values)
- push(___array, ___value);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement