Guest User

Untitled

a guest
Sep 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. function Create(self)
  2.  
  3. self.actionPhase = 0;
  4. self.stuck = false;
  5. self.lifeTimer = Timer();
  6.  
  7. end
  8.  
  9. function Update(self)
  10.  
  11.  
  12. if self.actionPhase == 0 then
  13. local rayHitPos = Vector(0,0);
  14. local rayHit = false;
  15. for i = 1, 15 do
  16. local checkPos = self.Pos + Vector(self.Vel.X,self.Vel.Y):SetMagnitude(i);
  17. local checkPix = SceneMan:GetMOIDPixel(checkPos.X,checkPos.Y);
  18. if checkPix ~= 255 and (self.ID == 255 or (self.ID ~= 255 and checkPix ~= self.ID)) and MovableMan:GetMOFromID(checkPix).Team ~= self.Team then
  19. checkPos = checkPos + SceneMan:ShortestDistance(checkPos,self.Pos,SceneMan.SceneWrapsX):SetMagnitude(3);
  20. self.target = MovableMan:GetMOFromID(checkPix);
  21. self.stickpositionX = checkPos.X-self.target.Pos.X;
  22. self.stickpositionY = checkPos.Y-self.target.Pos.Y;
  23. self.stickrotation = self.target.RotAngle;
  24. self.stickdirection = self.RotAngle;
  25. self.stuck = true;
  26. rayHit = true;
  27. break;
  28. end
  29. end
  30. if rayHit == true then
  31. self.actionPhase = 1;
  32. else
  33. if SceneMan:CastStrengthRay(self.Pos,Vector(self.Vel.X,self.Vel.Y):SetMagnitude(15),0,rayHitPos,0,0,SceneMan.SceneWrapsX) == true then
  34. self.Pos = rayHitPos + SceneMan:ShortestDistance(rayHitPos,self.Pos,SceneMan.SceneWrapsX):SetMagnitude(3);
  35. self.PinStrength = 1000;
  36. self.AngularVel = 0;
  37. self.stuck = true;
  38. self.actionPhase = 2;
  39. self.HitsMOs = false;
  40. end
  41. end
  42. elseif self.actionPhase == 1 then
  43. if self.target ~= nil and self.target.ID ~= 255 then
  44. self.Pos = self.target.Pos + Vector(self.stickpositionX,self.stickpositionY):RadRotate(self.target.RotAngle-self.stickrotation);
  45. self.RotAngle = self.stickdirection+(self.target.RotAngle-self.stickrotation);
  46. self.PinStrength = 1000;
  47. self.Vel = Vector(0,0);
  48. self.HitsMOs = false;
  49. else
  50. self.PinStrength = 0;
  51. self.actionPhase = 0;
  52. self.HitsMOs = true;
  53. end
  54. end
  55.  
  56. end
Add Comment
Please, Sign In to add comment