Advertisement
Guest User

Untitled

a guest
Mar 14th, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. #TouhouDanmakufu[Single]
  2. #Title["Warning Sign ~Burning Star~"]
  3. #BGM[".\bgm2.mp3"]
  4. #Player[FREE]
  5. #ScriptVersion[3]
  6.  
  7. #include "script/default_system/Default_ShotConst.txt"
  8. #include "script/default_system/Default_Effect.txt"
  9.  
  10. let objEnemy;
  11. let objPlayer;
  12. let frame = 0;
  13. let bConcentrationMotion = false;
  14.  
  15. @Event
  16. {
  17. alternative(GetEventType())
  18. case(EV_REQUEST_LIFE)
  19. {
  20. SetScriptResult(5000);
  21. }
  22. case(EV_REQUEST_TIMER)
  23. {
  24. SetScriptResult(120);
  25. }
  26. case(EV_REQUEST_SPELL_SCORE)
  27. {
  28. SetScriptResult(35000);
  29. }
  30. }
  31.  
  32. @Initialize
  33. {
  34. objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  35. objPlayer = GetPlayerObjectID();
  36. ObjEnemy_Regist(objEnemy);
  37.  
  38. let imgKoishi = GetCurrentScriptDirectory ~ "stg7enm.png";
  39. ObjPrim_SetTexture(objEnemy,imgKoishi);
  40. ObjSprite2D_SetSourceRect(objEnemy, 64, 1, 127, 64);
  41. ObjSprite2D_SetDestCenter(objEnemy);
  42.  
  43. let cx = GetStgFrameWidth() /2;
  44. ObjMove_SetDestAtFrame(objEnemy, cx, 60, 60);
  45.  
  46. DeleteShotAll(TYPE_ALL, TYPE_ITEM);
  47. }
  48.  
  49. @MainLoop
  50. {
  51. let ex = ObjMove_GetX(objEnemy);
  52. let ey = ObjMove_GetY(objEnemy);
  53.  
  54. if(frame == 60)
  55. {
  56. let px = GetPlayerX();
  57. let py = GetPlayerY();
  58.  
  59. let pa = atan2(py - ey, px - ex);
  60.  
  61. let angle1 = 0;
  62. while (angle1 <= 360)
  63. {
  64. let obj1 = CreateShotA1(ex, ey, 4, angle1 + pa, DS_STAR_S_GREEN, 30);
  65. ObjShot_SetDeleteFrame(obj1, 46);
  66.  
  67. let angle2 = 0;
  68. while (angle2 <= 360)
  69. {
  70. let obj2 = CreateShotA1(0,0,0,0, DS_STAR_S_YELLOW, 10);
  71. ObjShot_SetDeleteFrame(obj2, 61);
  72.  
  73. let angle3 = 0;
  74. while (angle3 <= 360)
  75. {
  76. let obj3 = CreateShotA1(0,0,0,0, DS_STAR_S_ORANGE, 10);
  77. ObjShot_SetDeleteFrame(obj3, 55);
  78.  
  79. let angle4 = 0;
  80. while (angle4 <= 360)
  81. {
  82. let obj4 = CreateShotA1(0,0,0,0, DS_STAR_S_RED, 10);
  83. ObjShot_SetDeleteFrame(obj4, 50);
  84.  
  85. let angle5 = 0;
  86. while(angle5 <= 360)
  87. {
  88. let obj5 = CreateShotA1(0,0,0,0, DS_BALL_L_WHITE, 20);
  89. ObjShot_AddShotA1(obj4, obj5, 50);
  90. angle5 += 3.6;
  91. }
  92. ObjShot_AddShotA1(obj3, obj4, 55);
  93. angle4 += 3.6;
  94. }
  95. ObjShot_AddShotA1(obj2, obj3, 61);
  96. angle3 += 3.6;
  97. }
  98. ObjShot_AddShotA1(obj1, obj2, 46);
  99. angle2 += 3.6;
  100. }
  101. angle1 += 3.6;
  102. }
  103. frame = 0;
  104. }
  105.  
  106. ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);
  107. ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);
  108.  
  109. frame++;
  110.  
  111. if(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) <= 0)
  112. {
  113. Obj_Delete(objEnemy);
  114. CloseScript(GetOwnScriptID());
  115. return;
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement