Guest User

h

a guest
Mar 28th, 2012
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. #TouhouDanmakufu
  2. #Title["Basic Spell Card 1"]
  3. #BackGround["User(./tile.png, 0, 5)"]
  4. #BGM[".\bgm.mp3"]
  5. #Player[FREE]
  6. #ScriptVersion[3]
  7.  
  8. #include "script/default_system/Default_ShotConst.txt"
  9.  
  10. let objEnemy;
  11. let objPlayer;
  12. let frame = 0;
  13. let cycle = 0;
  14. let cycle2 = 0;
  15. let ex_angle = 0;
  16.  
  17. @Event
  18. {
  19. alternative(GetEventType())
  20. case(EV_REQUEST_LIFE)
  21. {
  22. SetScriptResult(5000);
  23. }
  24. }
  25.  
  26. @Initialize
  27. {
  28. objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  29. objPlayer = GetPlayerObjectID();
  30. ObjEnemy_Regist(objEnemy);
  31.  
  32. let imgKoishi = GetCurrentScriptDirectory ~ "stg7enm.png";
  33. ObjPrim_SetTexture(objEnemy,imgKoishi);
  34. ObjSprite2D_SetSourceRect(objEnemy, 64, 1, 127, 64);
  35. ObjSprite2D_SetDestCenter(objEnemy);
  36.  
  37. let cx = GetStgFrameWidth() /2;
  38. ObjMove_SetDestAtFrame(objEnemy, cx, 60, 60);
  39. }
  40.  
  41. @MainLoop
  42. {
  43. let ex = ObjMove_GetX(objEnemy);
  44. let ey = ObjMove_GetY(objEnemy);
  45.  
  46. if((frame == 30) && (cycle <= 25))
  47. {
  48. let px = GetPlayerX();
  49. let py = GetPlayerY();
  50.  
  51. let angleToPlayer1 = atan2(py - (ey-50), px - (ex+50));
  52. let angleToPlayer2 = atan2(py - (ey-50), px - (ex-50));
  53. let angleToPlayer3 = atan2(py - (ey+50), px - (ex+50));
  54. let angleToPlayer4 = atan2(py - (ey+50), px - (ex-50));
  55.  
  56. CreateShotA1(ex+50, ey-50, 3, angleToPlayer1, DS_NEEDLE_SKY, 30);
  57. CreateShotA1(ex-50, ey-50, 3, angleToPlayer2, DS_NEEDLE_SKY, 30);
  58. CreateShotA1(ex+50, ey+50, 3, angleToPlayer3, DS_NEEDLE_SKY, 30);
  59. CreateShotA1(ex-50, ey+50, 3, angleToPlayer4, DS_NEEDLE_SKY, 30);
  60.  
  61. frame = 0;
  62. cycle++;
  63. }
  64. if((frame == 20) && (cycle > 25))
  65. {
  66. let angle = 0;
  67. let target = ey + 50;
  68. while(angle <= 360)
  69. {
  70. let obj = CreateShotA2(ex, ey, 5, angle + ex_angle, -0.10, 1, DS_LIGHT_RED, 30);
  71. ObjMove_AddPatternA4(obj, 350-ex_angle, 30, 0, 0, 0, 0, objEnemy, NO_CHANGE);
  72. angle += 15;
  73. }
  74. cycle2++;
  75. ex_angle++;
  76. frame = 0;
  77. if(cycle2 == 50)
  78. {
  79. cycle = 0;
  80. cycle2 = 0;
  81. }
  82. }
  83.  
  84. ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);
  85. ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);
  86.  
  87. frame++;
  88.  
  89. if(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) <= 0)
  90. {
  91. Obj_Delete(objEnemy);
  92. CloseScript(GetOwnScriptID());
  93. return;
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment