Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //VERSION: V1.1
- //THERE ARE 2 BEHAVIORS IN THIS FUNCTION! THE FIRST ONE IS A SIMPLE!
- //THE SECOND BEHAVIOR MAKES THE ENEMY TO ATTACK YOU FROM BEHIND!
- //BEFORE YOU CALL THIS FUNCTION, SET THE ENEMY's "behav" to 0 or 1!
- //(EXAMPLE: ENEMY.behav = 0)
- //NO NEED TO GIVE CREDIT! FREE TO USE!
- function go(who, player) {
- //WHO.DIRECTIONS GUIDE: FIRST VALUE IS THE X THE SECOND IS THE Y SO [X,Y]
- who.directions = [[-1, 2], [-1, 2], [1, 2], [1, 2], [2, 0.4], [1, 2], [2, 0], [-1, 2], [-2, 0.4]];
- who.Xd = player._x-who._x;
- who.Yd = player._y-who._y;
- who.Angle = Math.atan2(who.Yd, who.Xd);
- who.Index = Math.round(8*who.Angle/(2*Math.PI))+4;
- who.pickdir = who.directions[who.Index];
- if (player._x<who._x) {
- if (!who.dirrot) {
- who.dirrot = true;
- who._xscale *= -1;
- }
- } else if (player._x>who._x) {
- if (who.dirrot) {
- who.dirrot = false;
- who._xscale *= -1;
- }
- }
- if (who.behav == 0) {
- if (who._x<player._x-50 || who._x>player._x+50 || who._y<player._y-20 || who._y>player._y+20) {
- if (who.Index == 8) {//RIGHT
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- } else if (who.Index == 7) {//RIGHTUP
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- } else if (who.Index == 6) {//UP
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- if (who._x<player._x-2) {
- who._x += who.pickdir[0];
- } else if (who._x>player._x+2) {
- who._x -= who.pickdir[0];
- }
- } else if (who.Index == 5) {//LEFTUP
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- } else if (who.Index == 4) {//LEFT
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- } else if (who.Index == 3) {//LEFTDOWN
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- } else if (who.Index == 2) {//DOWN
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- if (who._x<player._x-2) {
- who._x += who.pickdir[0];
- } else if (who._x>player._x+2) {
- who._x -= who.pickdir[0];
- }
- } else if (who.Index == 1 || who.Index == 0) {//LEFTDOWN
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- }
- }else{
- //Attack function/code goes here!
- }
- //-----------------------------------NEXT BEHAV----------------------------------//
- } else if (who.behav == 1) {
- if (who._x<player._x-50 || who._x>player._x+50 || who._y<player._y-20 || who._y>player._y+20) {
- if (who.Index == 8 || who.Index == 0) {//RIGHT
- if (player.side) {//LEFT SIDE
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- } else if (!player.side) {//RIGHT SIDE
- if (who._x<player._x+200) {
- if (who._y<player._y) {
- who._y -= who.pickdir[1]*2;
- } else if (who._y>player._y) {
- who._y += who.pickdir[1]*2;
- }
- }
- who._x += who.pickdir[0]/6;
- }
- } else if (who.Index == 7) {//RIGHTUP
- if (player.side) {//LEFT SIDE
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- if (who._y>player._y-2 && who._y<player._y+2) {
- who._x += who.pickdir[0]/6;
- } else if (who._y<player._y-2 && who._x<player._x+200) {
- who._x -= who.picdir[0];
- }
- } else if (!player.side) {//RIGHT SIDE
- if (who._y>player._y-100) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0]*2;
- }
- } else if (who.Index == 6) {//UP
- if (player.side) {//LEFT SIDE
- /*if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }*/
- who._x += who.pickdir[0];
- } else if (!player.side) {//RIGHT SIDE
- /*if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }*/
- who._x -= who.pickdir[0];
- }
- } else if (who.Index == 5) {//LEFTUP
- if (player.side) {//LEFT SIDE
- if (who._y>player._y-100) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0]*2;
- } else if (!player.side) {//RIGHT SIDE
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- if (who._y>player._y-2 && who._y<player._y+2) {
- who._x += who.pickdir[0]/6;
- } else if (who._y<player._y-2 && who._x>player._x+200) {
- who._x -= who.picdir[0];
- }
- }
- } else if (who.Index == 4) {//LEFT
- if (player.side) {//LEFT SIDE
- if (who._x<player._x+200) {
- if (who._y<player._y) {
- who._y -= who.pickdir[1]*4;
- } else if (who._y>player._y) {
- who._y += who.pickdir[1]*4;
- }
- }
- who._x += who.pickdir[0]/6;
- } else if (!player.side) {//RIGHT SIDE
- if (who._y<player._y-2) {
- who._y += who.pickdir[1]*4;
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1]*4;
- }
- if (who._y<player._y+2 && who._y>player._y-2) {
- who._x += who.pickdir[0];
- }
- }
- } else if (who.Index == 3) {//LEFTDOWN
- if (player.side) {//LEFT SIDE
- if (who._y<player._y+100) {
- who._y += who.pickdir[1];
- } else if (who._y>=player._y+100) {
- who._x += who.pickdir[0];
- }
- } else if (!player.side) {//RIGHT SIDE
- if (who._x<player._x-100) {
- who._y -= who.pickdir[1];
- } else if (who._x>=player._x-100) {
- who._x -= who.pickdir[0];
- }
- }
- } else if (who.Index == 2) {//DOWN
- if (player.side) {//LEFT SIDE
- who._x += who.pickdir[0];
- } else if (!player.side) {//RIGHT SIDE
- who._x -= who.pickdir[0];
- }
- } else if (who.Index == 1) {//RIGHTDOWN
- if (player.side) {//LEFT SIDE
- if (who._x>player._x+100) {
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- } else {
- who._x -= who.pickdir[0];
- }
- } else if (!player.side) {//RIGHT SIDE
- if (who._y<player._y+100) {
- who._y += who.pickdir[1];
- } else if (who._y>=player._y+100) {
- who._x += who.pickdir[0];
- }
- }
- } else if (who.Index == 0) {//RIGHT
- if (player.side) {//LEFT SIDE
- if (who._y<player._y-2) {
- who._y += who.pickdir[1];
- } else if (who._y>player._y+2) {
- who._y -= who.pickdir[1];
- }
- who._x += who.pickdir[0];
- } else if (!player.side) {//RIGHT SIDE
- if (who._x<player._x+200) {
- if (who._y<player._y) {
- who._y -= who.pickdir[1]*2;
- } else if (who._y>player._y) {
- who._y += who.pickdir[1]*2;
- }
- }
- who._x += who.pickdir[0]/6;
- }
- }
- trace(who.Index);
- } else {
- trace("attack");
- //HERE COMES THE ATTACK CODE!
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement