Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu
- #Title[Kaguya non-spell 3]
- #Text[Not everyone can see...]
- #Player[FREE]
- #ScriptVersion[2]
- #BGM[bgm\Kaguya.mp3]
- script_enemy_main{
- let CSD = GetCurrentScriptDirectory;
- CreateEnemyFromScript("Familiar2", GetCenterX, GetCenterY-250, 0, 0, NULL);
- CreateEnemyFromScript("Familiar3", GetCenterX, GetCenterY-250, 0, 0, NULL);
- CreateEnemyFromScript("Familiar4", GetCenterX, GetCenterY-250, 0, 0, NULL);
- let imgBoss = CSD ~ "system\boss_Kaguya.png";
- let cut = CSD ~ "system\Roguscut.png";
- let bg = CSD ~ "system\Purple.png";
- let lay = CSD ~ "system\Planet2.png";
- let frame = 0;
- let frame2 = 0;
- let angle = 0;
- let angleAcc = 0;
- let radius = -50;
- let ang=0;
- let g_angle=0;
- let length=0;
- let count=80;
- let flg=0;
- #include_function ".\system\lib_anime_Kaguya.txt"
- let slide = 0;
- @Initialize{
- SetLife(3500);
- SetTimer(100);
- SetScore(10000000);
- SetMovePosition01(GetCenterX-110,GetCenterY-110,5);
- LoadGraphic(imgBoss);
- LoadGraphic(cut);
- LoadGraphic(bg);
- LoadGraphic(lay);
- InitializeAction();
- }
- @MainLoop{
- SetCollisionA(GetX,GetY,32);
- SetCollisionB(GetX,GetY,16);
- yield;
- }
- @DrawLoop{
- DrawBoss(imgBoss);
- }
- @BackGround{
- SetTexture(bg);
- SetRenderState(ALPHA);
- SetAlpha(225);
- SetGraphicRect(0,0,512,512);
- SetGraphicScale(1,1);
- SetGraphicAngle(0,0,0);
- DrawGraphic(GetCenterX,GetCenterY);
- SetTexture(lay);
- SetRenderState(ADD);
- SetGraphicRect(0,0,80000,80000);
- SetGraphicScale(1,1);
- SetGraphicAngle(0,0,0);
- DrawGraphic(GetCenterX+slide,GetCenterY+slide);
- slide+=2;
- }
- @Finalize{
- // delete the image from memory
- DeleteGraphic(imgBoss);
- DeleteGraphic(cut);
- DeleteGraphic(bg);
- }
- task mainTask{
- wait(120);
- yield;
- }
- task movement{
- loop{
- SetMovePosition01(GetCenterX-80,80,3);
- SetAction(ACT_MOVE,60);
- wait(90);
- SetMovePosition01(GetCenterX+80,80,3);
- SetAction(ACT_MOVE,60);
- wait(90);
- SetMovePosition01(GetCenterX,GetCenterY,3);
- SetAction(ACT_MOVE,60);
- wait(90);
- SetMovePosition01(GetCenterX-100,120,3);
- SetAction(ACT_MOVE,60);
- wait(90);
- SetMovePosition01(GetCenterX+100,120,3);
- SetAction(ACT_MOVE,60);
- wait(90);
- yield;
- }
- }
- // wait function
- function wait(w){
- loop(w){yield;}
- }
- }
- -----------------------------------------------------------------------------------------------------------------
- script_enemy Familiar1
- {
- let x=GetX();
- let y=GetY();
- let arg=GetArgument();
- let enemyspeed=GetSpeed();
- let shotgra=GetAngle();
- let minX=GetClipMinX();
- let maxX=GetClipMaxX();
- let minY=GetClipMinY();
- let maxY=GetClipMaxY();
- let cenX=GetCenterX();
- let cenY=GetCenterY();
- let seal=GetCurrentScriptDirectory~".\system\seal.png";
- let g_angle=0;
- let length=0;
- let count=80;
- let flg=0;
- @Initialize
- {
- SetX(x);
- SetY(y);
- LoadGraphic(seal);
- SetLife(100);
- mainTask;
- }
- @MainLoop
- {
- yield;
- }
- task mainTask{
- wait(120);
- fire154;
- wait(90);
- yield;
- }
- task fire154{
- let x = 0;
- let dir = 90;
- while(x<16){
- superbulletac(GetX+50*cos(dir),GetY+50*sin(dir),0.6,dir+180,WHITE02,0);
- dir+=60;
- x++;
- }
- }
- task fire155{
- let x = 0;
- let dir = 90;
- while(x<16){
- superbulletac(GetEnemyX+50*cos(dir),GetEnemyY+50*sin(dir),0.6,dir+180,WHITE02,0);
- dir+=60;
- x++;
- }
- }
- task superbulletac(x,y,v,dir,graphic,delay){
- let obj = Obj_Create(OBJ_SHOT);
- Obj_SetPosition(obj,x,y);
- Obj_SetSpeed(obj,v);
- Obj_SetAngle(obj,dir);
- ObjShot_SetGraphic(obj,graphic);
- ObjShot_SetDelay(obj,delay);
- ObjShot_SetBombResist(obj,true);
- while(!Obj_BeDeleted(obj)){
- wait(80);
- Obj_SetSpeed(obj,0.5);
- Obj_SetAngle(obj,dir+90);
- ObjShot_SetGraphic(obj,WHITE02);
- loop(10){
- CreateLaser01(Obj_GetX(obj),Obj_GetY(obj),3,dir,80,20,RED04,0);
- dir+=360/10;
- }
- loop(10){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),3,dir+10,RED04,0);
- dir+=360/10;
- }
- wait(30);
- loop(5){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),3,dir+20,BLUE02,0);
- dir+=360/5;
- }
- wait(30);
- loop(10){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),3,dir+30,GREEN05,0);
- dir+=360/10;
- }
- wait(30);
- loop(10){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),3,dir+90,YELLOW01,0);
- dir+=360/10;
- }
- wait(30);
- loop(10){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),3,dir+90,BLUE02,0);
- dir+=360/10;
- }
- wait(30);
- loop(30){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),1,dir+180,GREEN11,0);
- dir+=360/30;
- }
- wait(30);
- loop(30){
- CreateShot01(Obj_GetX(obj),Obj_GetY(obj),1,dir+180,YELLOW11,0);
- dir+=360/30;
- }
- wait(60);
- Obj_Delete(obj);
- wait(30);
- yield;
- }
- superbulletac(x,y,v,dir,graphic,delay);
- function wait(n){loop(n){yield;}}
- function GetGapX(x,gapLength,gapAngle){return x+gapLength*cos(gapAngle);}
- function GetGapY(y,gapLength,gapAngle){return y+gapLength*sin(gapAngle);}
- @DrawLoop
- {
- SetTexture(seal);
- SetGraphicRect(1,1,64,64);
- SetAlpha(128);
- SetGraphicAngle(0,0,0+g_angle);
- DrawGraphic(GetX(),GetY());
- SetGraphicAngle(0,0,0);
- g_angle+=2;
- }
- @Finalize
- {
- }
- }
- -----------------------------------------------------------------------------------------------------------------
- script_enemy Familiar2
- {
- let CSD = GetCurrentScriptDirectory;
- let x=GetX();
- let y=GetY();
- let arg=GetArgument();
- let enemyspeed=GetSpeed();
- let shotgra=GetAngle();
- let minX=GetClipMinX();
- let maxX=GetClipMaxX();
- let minY=GetClipMinY();
- let maxY=GetClipMaxY();
- let cenX=GetCenterX();
- let cenY=GetCenterY();
- let seal=GetCurrentScriptDirectory~".\system\boss_mokou.png";
- let imgBoss = CSD ~ "system\boss_mokou.png";
- let frame = 0;
- let frame2 = 0;
- let angle = 0;
- let angleAcc = 0;
- let radius = -50;
- let ang=0;
- let g_angle=0;
- let length=0;
- let count=80;
- let flg=0;
- #include_function ".\system\lib_anime_Mokou.txt"
- @Initialize
- {
- SetX(x);
- SetY(y);
- SetMovePosition01(GetCenterX+110,GetCenterY-110,5);
- LoadGraphic(seal);
- LoadGraphic(imgBoss);
- InitializeAction();
- SetLife(5000);
- mainTask;
- }
- task mainTask{
- wait(120);
- movement;
- yield;
- }
- task movement{
- loop{
- SetMovePosition01(GetCenterX-110,100,3);
- SetAction(ACT_MOVE,60);
- wait(90);
- SetMovePosition01(GetCenterX+110,100,3);
- SetAction(ACT_MOVE,60);
- wait(90);
- yield;
- }
- }
- @MainLoop{
- SetCollisionA(GetX,GetY,32);
- SetCollisionB(GetX,GetY,16);
- yield;
- }
- @DrawLoop
- {
- DrawBoss(imgBoss);
- }
- @Finalize
- {
- }
- // wait function
- function wait(w){
- loop(w){yield;}
- }
- }
- -----------------------------------------------------------------------------------------------------------------
- script_enemy Familiar3
- {
- let CSD = GetCurrentScriptDirectory;
- let x=GetX();
- let y=GetY();
- let arg=GetArgument();
- let enemyspeed=GetSpeed();
- let shotgra=GetAngle();
- let minX=GetClipMinX();
- let maxX=GetClipMaxX();
- let minY=GetClipMinY();
- let maxY=GetClipMaxY();
- let cenX=GetCenterX();
- let cenY=GetCenterY();
- let seal=GetCurrentScriptDirectory~".\system\seal.png";
- let imgBoss = CSD ~ "system\seal.png";
- let frame = 0;
- let frame2 = 0;
- let angle = 0;
- let angleAcc = 0;
- let radius = -50;
- let ang=0;
- let g_angle=0;
- let length=0;
- let count=80;
- let flg=0;
- @Initialize
- {
- SetX(x);
- SetY(y);
- SetMovePosition01(GetCenterX+110,GetCenterY-110,5);
- LoadGraphic(seal);
- SetLife(5000);
- mainTask;
- }
- @MainLoop{
- frame++;
- frame2++;
- if(frame==120){
- loop(3){
- CreateShot01(GetX + radius*cos(angle), GetY + radius*sin(angle), 1.5, angle, RED02, 12);
- angle += 360/3;
- }
- angle += angleAcc;
- angleAcc += 0.1;
- frame = 119;
- }
- if(frame2>=-200 && frame2 <=110){
- radius++;
- }
- if(frame2>=111 && frame2 <= 360){
- radius--;
- }
- if(frame2==360){
- frame2=-141;
- }
- }
- task mainTask{
- wait(120);
- movement;
- yield;
- }
- task movement{
- loop{
- SetMovePosition01(GetCenterX-110,100,3);
- wait(90);
- SetMovePosition01(GetCenterX+110,100,3);
- wait(90);
- yield;
- }
- }
- function wait(n){loop(n){yield;}}
- function GetGapX(x,gapLength,gapAngle){return x+gapLength*cos(gapAngle);}
- function GetGapY(y,gapLength,gapAngle){return y+gapLength*sin(gapAngle);}
- @DrawLoop
- {
- SetTexture(seal);
- SetGraphicRect(1,1,64,64);
- SetAlpha(128);
- SetGraphicAngle(0,0,0+g_angle);
- DrawGraphic(GetX(),GetY());
- SetGraphicAngle(0,0,0);
- g_angle+=2;
- }
- @Finalize
- {
- }
- // wait function
- function wait(w){
- loop(w){yield;}
- }
- }
- -----------------------------------------------------------------------------------------------------------------
- script_enemy Familiar4
- {
- let CSD = GetCurrentScriptDirectory;
- let x=GetX();
- let y=GetY();
- let arg=GetArgument();
- let enemyspeed=GetSpeed();
- let shotgra=GetAngle();
- let minX=GetClipMinX();
- let maxX=GetClipMaxX();
- let minY=GetClipMinY();
- let maxY=GetClipMaxY();
- let cenX=GetCenterX();
- let cenY=GetCenterY();
- let seal=GetCurrentScriptDirectory~".\system\seal.png";
- let imgBoss = CSD ~ "system\seal.png";
- let frame = 0;
- let frame2 = 0;
- let angle = 0;
- let angleAcc = 0;
- let radius = -50;
- let ang=0;
- let g_angle=0;
- let length=0;
- let count=80;
- let flg=0;
- @Initialize
- {
- SetX(x);
- SetY(y);
- SetMovePosition01(GetCenterX-110,GetCenterY-110,5);
- LoadGraphic(seal);
- SetLife(5000);
- }
- @MainLoop{
- frame++;
- frame2++;
- if(frame==132){
- loop(16){
- CreateShot01(GetX + radius*cos(angle), GetY + radius*sin(angle), 1.5, angle, PURPLE01, 12);
- angle += 360/16;
- }
- angle += angleAcc;
- angleAcc += 0.6;
- frame = 119;
- }
- if(frame2>=-200 && frame2 <=110){
- radius++;
- }
- if(frame2>=111 && frame2 <= 360){
- radius--;
- }
- if(frame2==360){
- frame2=-141;
- }
- }
- function wait(n){loop(n){yield;}}
- function GetGapX(x,gapLength,gapAngle){return x+gapLength*cos(gapAngle);}
- function GetGapY(y,gapLength,gapAngle){return y+gapLength*sin(gapAngle);}
- @DrawLoop
- {
- SetTexture(seal);
- SetGraphicRect(1,1,64,64);
- SetAlpha(128);
- SetGraphicAngle(0,0,0+g_angle);
- DrawGraphic(GetX(),GetY());
- SetGraphicAngle(0,0,0);
- g_angle+=2;
- }
- @Finalize
- {
- }
- // wait function
- function wait3(w){
- loop(w){yield;}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment