Advertisement
Scearezt

[AS2] Brawler Game Behavior

May 3rd, 2011
429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //VERSION: V1.1
  2. //THERE ARE 2 BEHAVIORS IN THIS FUNCTION! THE FIRST ONE IS A SIMPLE!
  3. //THE SECOND BEHAVIOR MAKES THE ENEMY TO ATTACK YOU FROM BEHIND!
  4. //BEFORE YOU CALL THIS FUNCTION, SET THE ENEMY's "behav" to 0 or 1!
  5. //(EXAMPLE: ENEMY.behav = 0)
  6. //NO NEED TO GIVE CREDIT! FREE TO USE!
  7. function go(who, player) {
  8.     //WHO.DIRECTIONS GUIDE: FIRST VALUE IS THE X THE SECOND IS THE Y SO [X,Y]
  9.     who.directions = [[-1, 2], [-1, 2], [1, 2], [1, 2], [2, 0.4], [1, 2], [2, 0], [-1, 2], [-2, 0.4]];
  10.     who.Xd = player._x-who._x;
  11.     who.Yd = player._y-who._y;
  12.     who.Angle = Math.atan2(who.Yd, who.Xd);
  13.     who.Index = Math.round(8*who.Angle/(2*Math.PI))+4;
  14.     who.pickdir = who.directions[who.Index];
  15.     if (player._x<who._x) {
  16.         if (!who.dirrot) {
  17.             who.dirrot = true;
  18.             who._xscale *= -1;
  19.         }
  20.     } else if (player._x>who._x) {
  21.         if (who.dirrot) {
  22.             who.dirrot = false;
  23.             who._xscale *= -1;
  24.         }
  25.     }
  26.     if (who.behav == 0) {
  27.         if (who._x<player._x-50 || who._x>player._x+50 || who._y<player._y-20 || who._y>player._y+20) {
  28.             if (who.Index == 8) {//RIGHT
  29.                 if (who._y<player._y-2) {
  30.                     who._y += who.pickdir[1];
  31.                 } else if (who._y>player._y+2) {
  32.                     who._y -= who.pickdir[1];
  33.                 }
  34.                 who._x += who.pickdir[0];
  35.             } else if (who.Index == 7) {//RIGHTUP
  36.                 if (who._y<player._y-2) {
  37.                     who._y += who.pickdir[1];
  38.                 } else if (who._y>player._y+2) {
  39.                     who._y -= who.pickdir[1];
  40.                 }
  41.                 who._x += who.pickdir[0];
  42.             } else if (who.Index == 6) {//UP
  43.                 if (who._y<player._y-2) {
  44.                     who._y += who.pickdir[1];
  45.                 } else if (who._y>player._y+2) {
  46.                     who._y -= who.pickdir[1];
  47.                 }
  48.                 if (who._x<player._x-2) {
  49.                     who._x += who.pickdir[0];
  50.                 } else if (who._x>player._x+2) {
  51.                     who._x -= who.pickdir[0];
  52.                 }
  53.             } else if (who.Index == 5) {//LEFTUP
  54.                 if (who._y<player._y-2) {
  55.                     who._y += who.pickdir[1];
  56.                 } else if (who._y>player._y+2) {
  57.                     who._y -= who.pickdir[1];
  58.                 }
  59.                 who._x += who.pickdir[0];
  60.             } else if (who.Index == 4) {//LEFT
  61.                 if (who._y<player._y-2) {
  62.                     who._y += who.pickdir[1];
  63.                 } else if (who._y>player._y+2) {
  64.                     who._y -= who.pickdir[1];
  65.                 }
  66.                 who._x += who.pickdir[0];
  67.             } else if (who.Index == 3) {//LEFTDOWN
  68.                 if (who._y<player._y-2) {
  69.                     who._y += who.pickdir[1];
  70.                 } else if (who._y>player._y+2) {
  71.                     who._y -= who.pickdir[1];
  72.                 }
  73.                 who._x += who.pickdir[0];
  74.             } else if (who.Index == 2) {//DOWN
  75.                 if (who._y<player._y-2) {
  76.                     who._y += who.pickdir[1];
  77.                 } else if (who._y>player._y+2) {
  78.                     who._y -= who.pickdir[1];
  79.                 }
  80.                 if (who._x<player._x-2) {
  81.                     who._x += who.pickdir[0];
  82.                 } else if (who._x>player._x+2) {
  83.                     who._x -= who.pickdir[0];
  84.                 }
  85.             } else if (who.Index == 1 || who.Index == 0) {//LEFTDOWN
  86.                 if (who._y<player._y-2) {
  87.                     who._y += who.pickdir[1];
  88.                 } else if (who._y>player._y+2) {
  89.                     who._y -= who.pickdir[1];
  90.                 }
  91.                 who._x += who.pickdir[0];
  92.             }
  93.         }else{
  94.             //Attack function/code goes here!
  95.         }
  96.         //-----------------------------------NEXT BEHAV----------------------------------//                            
  97.     } else if (who.behav == 1) {
  98.         if (who._x<player._x-50 || who._x>player._x+50 || who._y<player._y-20 || who._y>player._y+20) {
  99.             if (who.Index == 8 || who.Index == 0) {//RIGHT
  100.                 if (player.side) {//LEFT SIDE
  101.                     if (who._y<player._y-2) {
  102.                         who._y += who.pickdir[1];
  103.                     } else if (who._y>player._y+2) {
  104.                         who._y -= who.pickdir[1];
  105.                     }
  106.                     who._x += who.pickdir[0];
  107.                 } else if (!player.side) {//RIGHT SIDE
  108.                     if (who._x<player._x+200) {
  109.                         if (who._y<player._y) {
  110.                             who._y -= who.pickdir[1]*2;
  111.                         } else if (who._y>player._y) {
  112.                             who._y += who.pickdir[1]*2;
  113.                         }
  114.                     }
  115.                     who._x += who.pickdir[0]/6;
  116.                 }
  117.             } else if (who.Index == 7) {//RIGHTUP
  118.                 if (player.side) {//LEFT SIDE
  119.                     if (who._y<player._y-2) {
  120.                         who._y += who.pickdir[1];
  121.                     } else if (who._y>player._y+2) {
  122.                         who._y -= who.pickdir[1];
  123.                     }
  124.                     if (who._y>player._y-2 && who._y<player._y+2) {
  125.                         who._x += who.pickdir[0]/6;
  126.                     } else if (who._y<player._y-2 && who._x<player._x+200) {
  127.                         who._x -= who.picdir[0];
  128.                     }
  129.                 } else if (!player.side) {//RIGHT SIDE
  130.                     if (who._y>player._y-100) {
  131.                         who._y -= who.pickdir[1];
  132.                     }
  133.                     who._x += who.pickdir[0]*2;
  134.                 }
  135.             } else if (who.Index == 6) {//UP
  136.                 if (player.side) {//LEFT SIDE
  137.                     /*if (who._y<player._y-2) {
  138.                     who._y += who.pickdir[1];
  139.                     } else if (who._y>player._y+2) {
  140.                     who._y -= who.pickdir[1];
  141.                     }*/
  142.                     who._x += who.pickdir[0];
  143.  
  144.                 } else if (!player.side) {//RIGHT SIDE
  145.                     /*if (who._y<player._y-2) {
  146.                     who._y += who.pickdir[1];
  147.                     } else if (who._y>player._y+2) {
  148.                     who._y -= who.pickdir[1];
  149.                     }*/
  150.                     who._x -= who.pickdir[0];
  151.                 }
  152.             } else if (who.Index == 5) {//LEFTUP
  153.                 if (player.side) {//LEFT SIDE
  154.                     if (who._y>player._y-100) {
  155.                         who._y -= who.pickdir[1];
  156.                     }
  157.                     who._x += who.pickdir[0]*2;
  158.                 } else if (!player.side) {//RIGHT SIDE
  159.                     if (who._y<player._y-2) {
  160.                         who._y += who.pickdir[1];
  161.                     } else if (who._y>player._y+2) {
  162.                         who._y -= who.pickdir[1];
  163.                     }
  164.                     if (who._y>player._y-2 && who._y<player._y+2) {
  165.                         who._x += who.pickdir[0]/6;
  166.                     } else if (who._y<player._y-2 && who._x>player._x+200) {
  167.                         who._x -= who.picdir[0];
  168.                     }
  169.                 }
  170.             } else if (who.Index == 4) {//LEFT
  171.                 if (player.side) {//LEFT SIDE
  172.                     if (who._x<player._x+200) {
  173.                         if (who._y<player._y) {
  174.                             who._y -= who.pickdir[1]*4;
  175.                         } else if (who._y>player._y) {
  176.                             who._y += who.pickdir[1]*4;
  177.                         }
  178.                     }
  179.                     who._x += who.pickdir[0]/6;
  180.                 } else if (!player.side) {//RIGHT SIDE
  181.                     if (who._y<player._y-2) {
  182.                         who._y += who.pickdir[1]*4;
  183.                     } else if (who._y>player._y+2) {
  184.                         who._y -= who.pickdir[1]*4;
  185.                     }
  186.                     if (who._y<player._y+2 && who._y>player._y-2) {
  187.                         who._x += who.pickdir[0];
  188.                     }
  189.                 }
  190.             } else if (who.Index == 3) {//LEFTDOWN
  191.                 if (player.side) {//LEFT SIDE
  192.                     if (who._y<player._y+100) {
  193.                         who._y += who.pickdir[1];
  194.                     } else if (who._y>=player._y+100) {
  195.                         who._x += who.pickdir[0];
  196.                     }
  197.                 } else if (!player.side) {//RIGHT SIDE
  198.                     if (who._x<player._x-100) {
  199.                         who._y -= who.pickdir[1];
  200.                     } else if (who._x>=player._x-100) {
  201.                         who._x -= who.pickdir[0];
  202.                     }
  203.                 }
  204.             } else if (who.Index == 2) {//DOWN
  205.                 if (player.side) {//LEFT SIDE
  206.                     who._x += who.pickdir[0];
  207.                 } else if (!player.side) {//RIGHT SIDE
  208.                     who._x -= who.pickdir[0];
  209.                 }
  210.             } else if (who.Index == 1) {//RIGHTDOWN
  211.                 if (player.side) {//LEFT SIDE
  212.                     if (who._x>player._x+100) {
  213.                         if (who._y<player._y-2) {
  214.                             who._y += who.pickdir[1];
  215.                         } else if (who._y>player._y+2) {
  216.                             who._y -= who.pickdir[1];
  217.                         }
  218.                     } else {
  219.                         who._x -= who.pickdir[0];
  220.                     }
  221.                 } else if (!player.side) {//RIGHT SIDE
  222.                     if (who._y<player._y+100) {
  223.                         who._y += who.pickdir[1];
  224.                     } else if (who._y>=player._y+100) {
  225.                         who._x += who.pickdir[0];
  226.                     }
  227.                 }
  228.             } else if (who.Index == 0) {//RIGHT
  229.                 if (player.side) {//LEFT SIDE
  230.                     if (who._y<player._y-2) {
  231.                         who._y += who.pickdir[1];
  232.                     } else if (who._y>player._y+2) {
  233.                         who._y -= who.pickdir[1];
  234.                     }
  235.                     who._x += who.pickdir[0];
  236.                 } else if (!player.side) {//RIGHT SIDE
  237.                     if (who._x<player._x+200) {
  238.                         if (who._y<player._y) {
  239.                             who._y -= who.pickdir[1]*2;
  240.                         } else if (who._y>player._y) {
  241.                             who._y += who.pickdir[1]*2;
  242.                         }
  243.                     }
  244.                     who._x += who.pickdir[0]/6;
  245.                 }
  246.             }
  247.             trace(who.Index);
  248.         } else {
  249.             trace("attack");
  250.             //HERE COMES THE ATTACK CODE!
  251.         }
  252.     }
  253. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement