Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Single]
- #Title["Warning Sign ~Burning Star~"]
- #BGM[".\bgm2.mp3"]
- #Player[FREE]
- #ScriptVersion[3]
- #include "script/default_system/Default_ShotConst.txt"
- #include "script/default_system/Default_Effect.txt"
- let objEnemy;
- let objPlayer;
- let frame = 0;
- let bConcentrationMotion = false;
- @Event
- {
- alternative(GetEventType())
- case(EV_REQUEST_LIFE)
- {
- SetScriptResult(5000);
- }
- case(EV_REQUEST_TIMER)
- {
- SetScriptResult(120);
- }
- case(EV_REQUEST_SPELL_SCORE)
- {
- SetScriptResult(35000);
- }
- }
- @Initialize
- {
- objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- objPlayer = GetPlayerObjectID();
- ObjEnemy_Regist(objEnemy);
- let imgKoishi = GetCurrentScriptDirectory ~ "stg7enm.png";
- ObjPrim_SetTexture(objEnemy,imgKoishi);
- ObjSprite2D_SetSourceRect(objEnemy, 64, 1, 127, 64);
- ObjSprite2D_SetDestCenter(objEnemy);
- let cx = GetStgFrameWidth() /2;
- ObjMove_SetDestAtFrame(objEnemy, cx, 60, 60);
- DeleteShotAll(TYPE_ALL, TYPE_ITEM);
- }
- @MainLoop
- {
- let ex = ObjMove_GetX(objEnemy);
- let ey = ObjMove_GetY(objEnemy);
- if(frame == 60)
- {
- let px = GetPlayerX();
- let py = GetPlayerY();
- let pa = atan2(py - ey, px - ex);
- let angle1 = 0;
- while (angle1 <= 360)
- {
- let obj1 = CreateShotA1(ex, ey, 4, angle1 + pa, DS_STAR_S_GREEN, 30);
- ObjShot_SetDeleteFrame(obj1, 46);
- let angle2 = 0;
- while (angle2 <= 360)
- {
- let obj2 = CreateShotA1(0,0,0,0, DS_STAR_S_YELLOW, 10);
- ObjShot_SetDeleteFrame(obj2, 61);
- let angle3 = 0;
- while (angle3 <= 360)
- {
- let obj3 = CreateShotA1(0,0,0,0, DS_STAR_S_ORANGE, 10);
- ObjShot_SetDeleteFrame(obj3, 55);
- let angle4 = 0;
- while (angle4 <= 360)
- {
- let obj4 = CreateShotA1(0,0,0,0, DS_STAR_S_RED, 10);
- ObjShot_SetDeleteFrame(obj4, 50);
- let angle5 = 0;
- while(angle5 <= 360)
- {
- let obj5 = CreateShotA1(0,0,0,0, DS_BALL_L_WHITE, 20);
- ObjShot_AddShotA1(obj4, obj5, 50);
- angle5 += 3.6;
- }
- ObjShot_AddShotA1(obj3, obj4, 55);
- angle4 += 3.6;
- }
- ObjShot_AddShotA1(obj2, obj3, 61);
- angle3 += 3.6;
- }
- ObjShot_AddShotA1(obj1, obj2, 46);
- angle2 += 3.6;
- }
- angle1 += 3.6;
- }
- frame = 0;
- }
- ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);
- ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);
- frame++;
- if(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) <= 0)
- {
- Obj_Delete(objEnemy);
- CloseScript(GetOwnScriptID());
- return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement