Advertisement
Lavalake

Homing Problem 4

Apr 1st, 2013
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. task Bullet(dir,type){
  2. let obj=Obj_Create(OBJ_SPELL);
  3. let v = 64;
  4. ObjEffect_SetRenderState(obj,ALPHA);
  5. Obj_SetAlpha(obj,100);
  6. ObjEffect_SetTexture(obj,spell);
  7. ObjEffect_CreateVertex(obj,4);
  8. ObjEffect_SetPrimitiveType(obj,PRIMITIVE_TRIANGLEFAN);
  9.  
  10. if(type==1){
  11. ObjEffect_SetVertexUV(obj,0,0,0);
  12. ObjEffect_SetVertexUV(obj,1,127,0);
  13. ObjEffect_SetVertexUV(obj,2,127,127);
  14. ObjEffect_SetVertexUV(obj,3,0,127);
  15. }else if(type==2){
  16. ObjEffect_SetVertexUV(obj,0,128,0);
  17. ObjEffect_SetVertexUV(obj,1,255,0);
  18. ObjEffect_SetVertexUV(obj,2,255,127);
  19. ObjEffect_SetVertexUV(obj,3,128,127);
  20. }else if(type==3){
  21. ObjEffect_SetVertexUV(obj,0,0,128);
  22. ObjEffect_SetVertexUV(obj,1,127,128);
  23. ObjEffect_SetVertexUV(obj,2,127,255);
  24. ObjEffect_SetVertexUV(obj,3,0,255);
  25. }else{
  26. ObjEffect_SetVertexUV(obj,0,128,128);
  27. ObjEffect_SetVertexUV(obj,1,255,128);
  28. ObjEffect_SetVertexUV(obj,2,255,255);
  29. ObjEffect_SetVertexUV(obj,3,128,255);
  30. }
  31.  
  32. ObjEffect_SetVertexXY(obj,0,-v,-v);
  33. ObjEffect_SetVertexXY(obj,1,v,-v);
  34. ObjEffect_SetVertexXY(obj,2,v,v);
  35. ObjEffect_SetVertexXY(obj,3,-v,v);
  36. Obj_SetPosition(obj,GetPlayerX,GetPlayerY);
  37. Obj_SetSpeed(obj,3);
  38. Obj_SetAngle(obj,dir);
  39. loop(20){ yield; }
  40. loop(30){
  41. Obj_SetSpeed(obj, Obj_GetSpeed(obj) - 0.1);
  42. yield;
  43. }
  44. loop(10){
  45. yield;
  46. }
  47. Obj_SetAngle(obj,atan2(GetEnemyInfo(EnumEnemyBegin,ENEMY_Y)-Obj_GetY(obj),GetEnemyInfo(EnumEnemyBegin,ENEMY_X)-Obj_GetX(obj) ) );
  48. loop(20){
  49. Obj_SetSpeed(obj,Obj_GetSpeed(obj) + 0.5);
  50. yield;
  51. }
  52. let v2 = 0;
  53. while(GetDistance(Obj_GetX(obj),Obj_GetY(obj),GetEnemyInfo(EnumEnemyBegin,ENEMY_X),GetEnemyInfo(EnumEnemyBegin,ENEMY_Y)) < 8){
  54. Obj_SetAngle(obj,atan2(GetEnemyInfo(EnumEnemyBegin,ENEMY_Y)-Obj_GetY(obj),GetEnemyInfo(EnumEnemyBegin,ENEMY_X)-Obj_GetX(obj)));
  55. ObjSpell_SetIntersecrionCircle(obj,Obj_GetX(obj),Obj_GetY(obj),128,20,true);
  56. yield;
  57. }
  58. while(v < 400){
  59. ObjEffect_SetVertexXY(obj,0,-v,-v);
  60. ObjEffect_SetVertexXY(obj,1,v,-v);
  61. ObjEffect_SetVertexXY(obj,2,v,v);
  62. ObjEffect_SetVertexXY(obj,3,-v,v);
  63. ObjSpell_SetIntersecrionCircle(obj,Obj_GetX(obj),Obj_GetY(obj),128,20,true);
  64. v+=10;
  65. yield;
  66. }
  67. descent(k in 0..100){
  68. ascent(i in 0..4){
  69. ObjEffect_SetVertexColor(obj,i,k,255,255,255);
  70. }
  71. yield;
  72. }
  73. loop(60){ yield; }
  74. Obj_Delete(obj);
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement