Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu
- #Title[Contest Entry : Five Star Over Suwa Lake]
- #Text[Test script]
- #PlayLevel[Hi]
- #Player[FREE]
- #BGM[.\Faith.mp3]
- #ScriptVersion[2]
- script_enemy_main {
- let BG2 = (GetCurrentScriptDirectory~"img\carbg1.png");
- let BG = (GetCurrentScriptDirectory~"img\cardbg.png");
- let ImgBoss = (GetCurrentScriptDirectory~"img\stg5enm.png");
- let BossFace = (GetCurrentScriptDirectory~"img\face05ct.png");
- let frame3 = 0;
- let angleC = 0;
- let animM = 0;
- let animI = 0;
- let scroll = 0;
- SetCommonData("Wave", 0);
- let frame = 0;
- let a = 0;
- let u = 0;
- let frame2 = 0;
- let angle= 0;
- let speed = 5;
- let n = 60;
- let i = 0;
- let T = 30;
- let f = 0;
- let f2 = 0;
- #include_function ".\MCircle.txt";
- #include_function ".\charge.dnh";
- #include_function ".\enemyanim.dnh";
- #include_function ".\cutin.txt";
- @Initialize {
- LoadGraphic(BG);
- LoadGraphic(BG2);
- LoadGraphic(ImgBoss);
- LoadGraphic(BossFace);
- SetDurableSpellCard;
- SetLife(10000);
- SetTimer(120);
- CutIn(YOUMU, "Star Sign "\""Five Star Over Suwa Lake"\", BossFace, 0, 0,0, 0);
- cutin("KANAKO",BossFace,0,0,256,512);
- SetScore(200000);
- SetDamageRate(100, 100);
- MagicCircle(false);
- SetEnemyMarker(true);
- SetMovePosition02(GetCenterX,GetCenterY-55, 50);
- SetInvincibility(240);
- LoadUserShotData(GetCurrentScriptDirectory~"NewSD\supershot.txt");
- }
- @MainLoop {
- frame++;
- f+=1;
- f2+=1;
- if(frame == 60){charge;}
- if(frame == 90){
- GreenStar;
- time;}
- yield;
- }
- @DrawLoop {
- MiniCircle;
- Circle;
- SetTexture(ImgBoss);
- SetGraphicAngle(0,0,0);
- SetGraphicScale(1,1);
- SetRenderState(ALPHA);
- SetAlpha(100);
- SetColor(255, 255, 255);
- SetGraphicRect(0,0,64,64);
- if(f == 50){
- f=0;
- }
- if(GetSpeedX()==0){
- if(f<10){SetGraphicRect(0,0,64,64);}
- if(f>=10 && f<20){SetGraphicRect(64,0,128,64);}
- if(f>=20 && f<30){SetGraphicRect(128,0,192,64);}
- if(f>=40){SetGraphicRect(192,0,256,64);}
- f++;
- }
- SetAlpha(255);
- SetRenderState(ALPHA);
- SetGraphicScale(1,1);
- DrawGraphic(GetX,GetY);
- }
- @BackGround{
- scroll += 1;
- SetTexture(BG);
- SetGraphicRect(0,0,384,448);
- SetAlpha(255);
- SetRenderState(ALPHA);
- SetGraphicAngle(0, 0, 0);
- SetGraphicScale(1,1);
- DrawGraphic(GetCenterX,GetCenterY);
- SetTexture(BG2);
- SetGraphicRect(0,(0+scroll),512,(512+scroll));
- SetAlpha(255);
- SetRenderState(ALPHA);
- SetGraphicScale(1,1);
- SetGraphicAngle(0, 0, 0);
- DrawGraphic(GetCenterX,GetCenterY);
- }
- @Finalize {
- DeleteGraphic(BG);
- DeleteGraphic(BG2);
- }
- task Main{
- loop(60){yield;}
- RedStar;
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////Begining of the red///////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////LAUNCHER///////
- task RedStar{
- let time = 240;
- loop(6){
- let angle = 270;
- let u = 100;
- PlaySE(GetCurrentScriptDirectory~"sound\BulletWave.wav");
- loop(5){
- RedLaser(GetPlayerX+u*cos(angle),GetPlayerY+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02,6,2,10,u);
- angle+=(360/5)*2;
- }
- loop(time){yield;}
- time-=10;
- }
- loop(380){yield;}
- DeleteEnemyShotToItem(ALL);
- OrangeStar;
- }
- ///////BULLET SPAWN///////
- task RedStar2(x,y,radius,density,an,graphic){
- let angle = an;
- let angle2 = an+180;
- let u = radius;
- let u2 = 0;
- let lag = density+120;
- PlaySE(GetCurrentScriptDirectory~"sound\Shot1.wav");
- loop(density){
- let oX = x;
- let oY = y;
- RedBullet(oX-u2*cos(angle),oY-u2*sin(angle),0,angle2,graphic,10,lag);
- u2+=((u*2)/(density));
- angle2+=7;
- }
- }
- ///////BULLETS///////
- task RedBullet(x,y,s,angle,g,d,t) {
- let obj = Obj_Create(OBJ_SHOT);
- Obj_SetSpeed(obj,s);
- Obj_SetAngle(obj,angle);
- ObjShot_SetGraphic(obj,g);
- Obj_SetPosition(obj,x,y);
- ObjShot_SetBombResist(obj,true);
- ObjShot_SetDelay(obj,d);
- loop(t){yield;}
- loop(120){
- Obj_SetSpeed(obj,Obj_GetSpeed(obj)+0.005);
- yield;
- }
- yield;
- }
- ///////LASER///////
- task RedLaser(x, y, a, Len, width, graphic, turn, big) {
- let obj = Obj_Create(OBJ_LASER);
- Obj_SetPosition (obj,x,y);
- Obj_SetAngle (obj, a);
- ObjLaser_SetLength (obj, Len);
- ObjLaser_SetWidth (obj, width);
- ObjShot_SetGraphic(obj, graphic);
- ObjLaser_SetSource(obj, false);
- Obj_SetAutoDelete(obj,false);
- let x1 = Obj_GetX(obj);
- let y1 = Obj_GetY(obj);
- let x2 = GetX;
- let y2 = GetY;
- let dir = 0;
- let ang = atan2(y2-y1,x2-x1);
- /////////////////////turn around player/////////////////////
- while(turn >= 0.5){
- turn-=0.05;
- Obj_SetPosition (obj,GetPlayerX+(big)*cos(a+180+360/20),GetPlayerY+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- ObjLaser_SetWidth (obj, 2);
- Obj_SetCollisionToPlayer (obj,false);
- a+=turn;
- yield;
- }
- /////////////////////become solid/////////////////////
- loop(31){
- Obj_SetPosition (obj,GetPlayerX+(big)*cos(a+180+360/20),GetPlayerY+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=0.5;
- yield;
- }
- let Xdown = GetPlayerX;
- let Ydown = GetPlayerY;
- loop(60){yield;}
- while(ObjLaser_GetWidth(obj) < width){
- ObjLaser_SetWidth(obj,ObjLaser_GetWidth(obj)+0.5);
- yield;
- }
- PlaySE(GetCurrentScriptDirectory~"sound\Laser2.wav");
- ObjLaser_SetWidth (obj, width);
- Obj_SetCollisionToPlayer(obj,true);
- /////////////////////check///////////////////////////
- if(Ydown>GetPlayerY){dir = 1;}
- if(Ydown<=GetPlayerY){dir = 2;}
- loop(60){yield;}
- let count = 24;
- /////////////////////go!go!go!up/////////////////////
- alternative(dir)
- case(1){
- while(Ydown >= GetClipMinY-50){
- count++;
- Ydown-=5;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=7;
- if(count%35==0 && Obj_GetX(obj) > GetClipMinX-75){
- RedStar2(Obj_GetX(obj),Obj_GetY(obj),big,20,a+180-5,83);
- }
- if(Ydown < GetClipMinY-50){
- Obj_Delete(obj);
- }
- yield;
- }
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_Delete(obj);
- }
- /////////////////////go!go!down!/////////////////////
- case(2){
- while(Ydown <= GetClipMaxY+50){
- count++;
- Ydown+=5;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=7;
- if(count%35==0 && Obj_GetX(obj) > GetClipMinX-75){
- RedStar2(Obj_GetX(obj),Obj_GetY(obj),big,20,a+180-5,83);
- }
- if(Ydown > GetClipMaxY+50){
- }
- yield;
- }
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_Delete(obj);
- }
- //////////////////////////////////////////////////////////
- if(Obj_GetX(obj) <= 10 || Obj_GetY(obj) <=10 || Obj_GetY(obj) >= GetClipMaxY+10 || Obj_GetX(obj) <= GetClipMaxX+10){Obj_Delete(obj);}
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////End of the red///////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////Begining of the green/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- task GreenStar{
- let time = 150;
- loop(10){
- PlaySE(GetCurrentScriptDirectory~"sound\BulletWave.wav");
- /////////Top/////////
- let angle = 270;
- let u = 65;
- loop(5){
- GreenLaser(GetPlayerX+u*cos(angle),(GetClipMinY-u)+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02,6,6,2,u,0,2,1);
- angle+=(360/5)*2;
- }
- /////////Bottom/////////
- let angle = 270;
- let u = 65;
- loop(5){
- GreenLaser(GetPlayerX+u*cos(angle),(GetClipMaxY+u)+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02,6,6,2,u,0,-2,2);
- angle+=(360/5)*2;
- }
- /////////Left/////////
- let angle = 270;
- let u = 65;
- loop(5){
- GreenLaser((GetClipMinX-u)+u*cos(angle),GetPlayerY+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02,6,6,2,u,2,0,3);
- angle+=(360/5)*2;
- }
- /////////Right/////////
- let angle = 270;
- let u = 65;
- loop(5){
- GreenLaser((GetClipMaxX+u)+u*cos(angle),GetPlayerY+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02,6,6,2,u,-2,0,4);
- angle+=(360/5)*2;
- }
- loop(time){yield;}
- time -= 7;
- }
- loop(150){yield;}
- DeleteEnemyShotToItem(ALL);
- BlueStar;
- }
- task GreenLaser(x, y, a, Len, width, graphic, turn, big, Xfall, Yfall,type) {
- let obj = Obj_Create(OBJ_LASER);
- Obj_SetPosition (obj,x,y);
- Obj_SetAngle (obj, a);
- ObjLaser_SetLength (obj, Len);
- ObjLaser_SetWidth (obj, width);
- ObjShot_SetGraphic(obj, graphic);
- ObjLaser_SetSource(obj, false);
- Obj_SetAutoDelete(obj,false);
- alternative(type)
- /////////////////////Top To Bottom/////////////////////
- case(1){
- let Xdown = GetPlayerX;
- let Ydown = GetClipMinY-big;
- while(Ydown <= GetClipMaxY+100){
- Ydown+=Yfall;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- if(Ydown >= GetClipMaxY+100){
- Obj_Delete(obj);
- }
- yield;
- }
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_Delete(obj);
- }
- /////////////////////Bottom To Top/////////////////////
- case(2){
- let Xdown = GetPlayerX;
- let Ydown = GetClipMaxY+big;
- while(Ydown >= GetClipMinY-100){
- Ydown+=Yfall;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- if(Ydown <= GetClipMinY-100){
- Obj_Delete(obj);
- }
- yield;
- }
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_Delete(obj);
- }
- /////////////////////Left To Right/////////////////////
- case(3){
- let Xdown = GetClipMinX-big;
- let Ydown = GetPlayerY;
- while(Xdown <= GetClipMaxX+100){
- Xdown+=Xfall;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- if(Ydown >= GetClipMaxX+100){
- Obj_Delete(obj);
- }
- yield;
- }
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_Delete(obj);
- }
- /////////////////////Right To Left/////////////////////
- case(4){
- let Xdown = GetClipMaxX+big;
- let Ydown = GetPlayerY;
- while(Xdown >= GetClipMinX-100){
- Xdown+=Xfall;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- if(Ydown <= GetClipMinX-100){
- Obj_Delete(obj);
- }
- yield;
- }
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_Delete(obj);
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////End of the green///////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////Begining of the orange/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////LAUNCHER///////
- task OrangeStar{
- let angle = 270;
- let u = 230;
- let time = 120;
- loop(5){
- OrangeLaser(GetCenterX+u*cos(angle),(GetCenterY+15)+u*sin(angle),angle+180-(360/20),((u*cos(18))*2),6,8,10,u,time);
- time+=85;
- angle+=(360/5)*2;
- }
- yield;
- loop(2200){yield;}
- DeleteEnemyShotToItem(ALL);
- }
- ///////BULLET SPAWN///////
- task OrangeStar2(x,y,radius,density,an,graphic){
- let acc = 0;
- loop(3){
- let angle = an;
- let angle2 = an+(acc/5)+180;
- let angle3 = an+(acc/5)+180;
- let u = radius;
- let u2 = 0;
- let lag = density+120;
- loop(density-3){
- let oX = x;
- let oY = y;
- PlaySE(GetCurrentScriptDirectory~"sound\Shot1.wav");
- RedBullet(oX-u2*cos(angle),oY-u2*sin(angle),0,angle3,graphic,10,lag);
- RedBullet(oX-u2*cos(angle),oY-u2*sin(angle),0,angle2,graphic,10,lag);
- u2+=((u*2)/(density));
- angle2+=7;
- angle3+=360/5/density;
- lag+=1;
- loop(1){yield;}
- }
- loop(85*4){yield;}}
- }
- ///////LASER///////
- task OrangeLaser(x, y, a, Len, width, graphic, turn, big,t) {
- let obj = Obj_Create(OBJ_LASER);
- Obj_SetPosition (obj,x,y);
- Obj_SetAngle (obj, a);
- ObjLaser_SetLength (obj, Len);
- ObjLaser_SetWidth (obj, width);
- ObjShot_SetGraphic(obj, graphic);
- ObjLaser_SetSource(obj, false);
- Obj_SetAutoDelete(obj,false);
- Obj_SetCollisionToPlayer(obj,false);
- ObjLaser_SetWidth (obj, 2);
- loop(t){yield;}
- PlaySE(GetCurrentScriptDirectory~"sound\Laser2.wav");
- ObjLaser_SetWidth (obj, width+3);
- Obj_SetCollisionToPlayer(obj,true);
- OrangeStar2(Obj_GetX(obj),Obj_GetY(obj),big,85,a+180,94);
- while(!Obj_BeDeleted(obj)){
- let angle = a+180+((360-36)/48);
- loop(12){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),rand(5,1),angle+rand(-144,144+18),177,0);
- } loop(4){yield;} }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////End of orange////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////Begining of the violet/////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- task VioletStar{
- /////////////1/////////
- let u = 80;
- let Y = 65-1650;
- let angle = 270;
- PlaySE(GetCurrentScriptDirectory~"sound\Shot2.wav");
- loop(11){
- let X = 94-1400;
- loop(11){
- loop(5){
- VioletLaser(X+u*cos(angle),Y+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02+2,10,3,1,u,X,Y,45);
- angle+=(360/5)*2;
- }
- X+=65*2;
- u-=0.5;
- }
- Y+=150;
- }
- loop(780){yield;}
- /////////2//////////
- PlaySE(GetCurrentScriptDirectory~"sound\Shot2.wav");
- let u = 80;
- let Y = 65-1650;
- let angle = 270;
- loop(11){
- let X = 94+1700;
- loop(11){
- loop(5){
- VioletLaser(X+u*cos(angle),Y+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02+2,10,3,-1,u,X,Y,135);
- angle+=(360/5)*2;
- }
- X-=65*2;
- u-=0.5;
- }
- Y+=150;
- }
- loop(780){yield;}
- loop(60){yield;}
- DeleteEnemyShotToItem(ALL);
- RedStar;
- }
- ///////LASER///////
- task VioletLaser(x, y, a, Len, width, graphic, turn, big,X,Y,fall) {
- let obj = Obj_Create(OBJ_LASER);
- Obj_SetPosition (obj,x,y);
- Obj_SetAngle (obj, a);
- ObjLaser_SetLength (obj, Len);
- ObjLaser_SetWidth (obj, width);
- ObjShot_SetGraphic(obj, graphic);
- ObjLaser_SetSource(obj, false);
- Obj_SetAutoDelete(obj,false);
- Obj_SetCollisionToPlayer(obj,true);
- let phase = 1;
- let u = 0;
- while(!Obj_BeDeleted(obj)){
- let Xdown = X+u*cos(fall);
- let Ydown = Y+u*sin(fall);
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn/2;
- if(phase == 1){u+=3;}
- yield;
- if((Obj_GetX(obj) > GetClipMaxX+big+50 && turn == 1) || (Obj_GetX(obj) < GetClipMinX-big-50 && turn == -1) || Obj_GetY(obj) > GetClipMaxY+big+50 ){Obj_Delete(obj);}
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////End of the violet///////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////Begining of the blue//////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- task BlueStar{
- loop(4){
- PlaySE(GetCurrentScriptDirectory~"sound\Laser2.wav");
- let angle = 270;
- let u = 50;
- loop(5){
- BlueLaser((0-u)+u*cos(angle),50+u*sin(angle),angle+180-(360/20),((u*cos(18))*2)*1.02,6,4,5,u,GetClipMinX-u,60,3);
- angle+=(360/5)*2;
- }
- loop(108){yield;}}
- loop(630){yield;}
- DeleteEnemyShotToItem(ALL);
- VioletStar;
- }
- ///////BULLET SPAWN///////
- task BlueStar2(x,y,radius,density,an,graphic,X,Y){
- let angle = an;
- let angle2 = an;
- let u = radius;
- let u2 = 0;
- let lag = density+60;
- loop(density){
- let oX = x;
- let oY = y;
- if(oX > 0){
- BlueBullet(oX-u2*cos(angle),oY-u2*sin(angle),0,angle2,graphic,10,lag);
- }
- u2+=((u*2)/(density));
- angle2=atan2(GetPlayerY-X,GetPlayerX-Y);
- }
- }
- ///////BULLETS///////
- task BlueBullet(x,y,s,angle,g,d,t) {
- let bullet = Obj_Create(OBJ_SHOT);
- Obj_SetPosition(bullet,x,y);
- Obj_SetSpeed(bullet,s);
- Obj_SetAngle(bullet,atan2(GetPlayerY-Obj_GetY(bullet),GetPlayerX-Obj_GetX(bullet)));
- ObjShot_SetGraphic(bullet,g);
- ObjShot_SetBombResist(bullet,false);
- ObjShot_SetDelay(bullet,d);
- loop(t){yield;}
- while(!Obj_BeDeleted(bullet)){
- Obj_SetSpeed(bullet,Obj_GetSpeed(bullet)+0.0075);
- if(Obj_GetX(bullet) <= 0 && Obj_GetY(bullet) <= 0){Obj_Delete(bullet);}
- yield;
- }
- yield;
- }
- task BlueLaser(x, y, a, Len, width, graphic, turn, big,X,Y,fall) {
- let obj = Obj_Create(OBJ_LASER);
- Obj_SetPosition (obj,x,y);
- Obj_SetAngle (obj, a);
- ObjLaser_SetLength (obj, Len);
- ObjLaser_SetWidth (obj, width);
- ObjShot_SetGraphic(obj, graphic);
- ObjLaser_SetSource(obj, false);
- Obj_SetAutoDelete(obj,false);
- Obj_SetCollisionToPlayer(obj,true);
- let phase = 1;
- let u = 0;
- let count = 0;
- let density = 10;
- while(!Obj_BeDeleted(obj)){
- //////Left => Right/////
- while(phase == 1){
- let Xdown = X;
- let Ydown = Y;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- X+=fall;
- count++;
- if(count%99==0 && Obj_GetX(obj) > GetClipMinX-75){
- BlueStar2(Obj_GetX(obj),Obj_GetY(obj),big,density,a+180-5,87,X,Y);
- PlaySE(GetCurrentScriptDirectory~"sound\Shot1.wav");
- }
- if(X >= 448-70 && phase == 1){phase = 2;}
- yield;
- }
- //////Right => Bottom/////
- while(phase == 2){
- let Xdown = X;
- let Ydown = Y;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- Y+=fall;
- count++;
- if(count%99==0 && Obj_GetX(obj) > GetClipMinX-75){
- BlueStar2(Obj_GetX(obj),Obj_GetY(obj),big,density,a+180-5,87,X,Y);
- PlaySE(GetCurrentScriptDirectory~"sound\Shot1.wav");
- }
- if(Y >= 480-60 && phase == 2){phase = 3;}
- yield;
- }
- //////Bottom => Left/////
- while(phase == 3){
- let Xdown = X;
- let Ydown = Y;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- X-=fall;
- count++;
- if(count%99==0 && Obj_GetX(obj) > GetClipMinX-75){
- BlueStar2(Obj_GetX(obj),Obj_GetY(obj),big,density,a+180-5,87,X,Y);
- PlaySE(GetCurrentScriptDirectory~"sound\Shot1.wav");
- }
- if(X <= 0+70 && phase == 3){phase = 4;}
- yield;
- }
- //////Right => Bottom/////
- while(phase == 4){
- let Xdown = X;
- let Ydown = Y;
- Obj_SetPosition (obj,Xdown+(big)*cos(a+180+360/20),Ydown+(big)*sin(a+180+360/20));
- Obj_SetAngle (obj, a);
- a+=turn;
- Y-=fall;
- count++;
- if(count%99==0 && Obj_GetX(obj) > GetClipMinX-75){
- BlueStar2(Obj_GetX(obj),Obj_GetY(obj),big,density,a+180-5,87,X,Y);
- PlaySE(GetCurrentScriptDirectory~"sound\Shot1.wav");
- }
- if(Y <= 0+60 && phase == 4){phase = 1;}
- yield;
- }
- yield;
- if((Obj_GetX(obj) > GetClipMaxX+big+50 && turn == 1) || (Obj_GetX(obj) < GetClipMinX-big-50 && turn == -1) || Obj_GetY(obj) > GetClipMaxY+big+50 ){Obj_Delete(obj);}
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////End of the blue///////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////COMMON FUNTIONS///////////////
- task time{
- loop{
- loop(60){yield;}
- if(GetTimer<=10){PlaySE(GetCurrentScriptDirectory~"sound\timeout.wav");}
- if(GetTimer<=5){PlaySE(GetCurrentScriptDirectory~"sound\timeout2.wav");}
- yield;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement