Guest User

BoWaP

a guest
May 10th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. #TouhouDanmakufu[Single]
  2. #ScriptVersion[3]
  3. #Title["BoWaP"]
  4. #Text["New"]
  5. #include "script/default_system/Default_ShotConst.txt"
  6.  
  7. let objBoss;
  8. let objScene = GetEnemyBossSceneObjectID();
  9.  
  10. @Event{
  11. alternative(GetEventType())
  12. case(EV_REQUEST_LIFE){
  13. SetScriptResult(500);
  14. }
  15. case(EV_REQUEST_TIMER){
  16. SetScriptResult(60);
  17. }
  18. case(EV_REQUEST_SPELL_SCORE){
  19. SetScriptResult(1000000);
  20. }
  21. }
  22. @Initialize{
  23. objBoss = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  24. ObjEnemy_Regist(objBoss);
  25. ObjMove_SetDestAtFrame(objBoss, GetCenterX(), 60, 60);
  26.  
  27. ObjEnemyBossScene_StartSpell(objScene);
  28.  
  29.  
  30.  
  31. TDrawLoop;
  32. TFinalize;
  33. MainTask;
  34. }
  35. task TDrawLoop {
  36. let imgExRumia = GetCurrentScriptDirectory() ~ "ExRumia.png";
  37. ObjPrim_SetTexture(objBoss, imgExRumia);
  38. ObjSprite2D_SetSourceRect(objBoss, 64, 1, 127, 64);
  39. ObjSprite2D_SetDestCenter(objBoss);
  40. }
  41. @MainLoop{
  42. ObjEnemy_SetIntersectionCircleToShot(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 32);
  43. ObjEnemy_SetIntersectionCircleToPlayer(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 24);
  44. yield;
  45. }
  46. task MainTask{
  47. wait(120);
  48. BoWaP;
  49. }
  50. task TFinalize {
  51. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){yield;}
  52. Obj_Delete(objBoss);
  53. DeleteShotAll(TYPE_ALL, TYPE_IMMEDIATE);
  54. SetAutoDeleteObject(true);
  55. CloseScript(GetOwnScriptID());
  56. return;
  57. if(ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SHOOTDOWN_COUNT)
  58. +ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SPELL_COUNT) == 0){
  59. AddScore(ObjEnemyBossScene_GetInfo(objScene, INFO_SPELL_SCORE));
  60. }
  61. }
  62. task BoWaP{
  63. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){
  64. let angleT = rand(0, 360);
  65. let objcount = 0;
  66. loop{
  67. loop(5){
  68. let obj = CreateShotA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 3, angleT, 1, 5);
  69. angleT += 360/5;
  70. }
  71. angleT += sin(objcount) * cos(objcount) * 12; //BOWAP
  72. objcount++;
  73. yield;
  74. }
  75. }
  76. }
  77. function GetCenterX(){
  78. return GetStgFrameWidth() / 2;
  79. }
  80. function GetCenterY(){
  81. return GetStgFrameHeight() / 2;
  82. }
  83. function wait(n){
  84. loop(n){yield;}
  85. }
  86. function rand_int(min, max) {
  87. return round(rand(min, max))
  88. }
Add Comment
Please, Sign In to add comment