Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu
- #Title[Final Spell]
- #Text[An attempt at making a spell]
- #Player[REIMU]
- #ScriptVersion[2]
- #PlayLevel[Normal]
- script_enemy_main{
- let D = GetCurrentScriptDirectory;
- let imgBoss = D ~ "system\touhoucharacter1.png";
- let cut = D ~ "system\touhoucharacter3.png";
- wait(200);
- @Initialize{
- SetLife(1);
- SetTimer(83);
- SetScore(2500000);
- LoadGraphic(imgBoss);
- Concentration01(120);
- Concentration02(120);
- SetEffectForZeroLife(160, 255, 2);
- SetDurableSpellCard;
- SetMovePosition02(GetCenterX,GetCenterY,0);
- SetInvincibility(180);
- ForbidShot(true);
- wait(180);
- CutIn(YOUMU,"Final Spell - Not finished. :) -",cut,0,0,360,290);
- fire;
- fireb;
- firec;
- fired;
- firee;
- firef;
- wait(2140);
- fireb2;
- wait(1800);
- fireb3;
- }
- @MainLoop{yield;}
- @DrawLoop{
- SetTexture(imgBoss);
- SetRenderState(ALPHA);
- SetAlpha(255);
- SetGraphicRect(0,0,110,110);
- SetGraphicScale(0.7,0.7);
- SetGraphicAngle(0,0,0);
- DrawGraphic(GetX,GetY);
- }
- @BackGround{}
- @Finalize{
- DeleteGraphic(imgBoss);
- DeleteGraphic(cut);
- loop(10000){CreateItem(ITEM_SCORE,rand(GetClipMaxX,GetClipMinX),rand(GetClipMaxY,GetClipMinY));}
- CollectItems;
- }
- task fire{
- wait(120);
- loop{
- let dir = 0;
- loop(15){
- loop(18){
- CreateShotA(1,GetX,GetY,0);
- SetShotDataA(1,0,2,dir,0.5,0,0,BLUE04);
- FireShot(1);
- CreateShotA(2,GetX,GetY,0);
- SetShotDataA(2,0,2,dir,-0.5,0,0,BLUE04);
- FireShot(2);
- dir+=20;
- }
- dir = 0;
- wait(120);}
- loop(35.6){
- loop(18){
- CreateShotA(1,GetX,GetY,0);
- SetShotDataA(1,0,2,dir,0.6,0,0,BLUE04);
- FireShot(1);
- CreateShotA(2,GetX,GetY,0);
- SetShotDataA(2,0,2,dir,-0.6,0,0,BLUE04);
- FireShot(2);
- dir+=20;
- }
- dir = 0;
- wait(60);}
- loop(45){
- loop(18){
- CreateShotA(1,GetX,GetY,0);
- SetShotDataA(1,0,2.4,dir,0.6,0,0,BLUE04);
- FireShot(1);
- CreateShotA(2,GetX,GetY,0);
- SetShotDataA(2,0,2.4,dir,-0.6,0,0,BLUE04);
- FireShot(2);
- dir+=20;
- }
- dir = 0;
- wait(35);}
- }}
- task fireb{
- wait(120);
- loop{
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+315,GREEN21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+305,GREEN21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+295,GREEN21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+285,GREEN21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+275,GREEN21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+265,GREEN21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+255,GREEN21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+245,RED21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+235,RED21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+225,RED21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+215,RED21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+205,RED21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+195,RED21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+185,RED21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+175,YELLOW21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+165,YELLOW21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+155,YELLOW21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+145,YELLOW21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+135,YELLOW21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+125,YELLOW21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+115,YELLOW21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+105,BLUE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+95,BLUE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+85,BLUE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+75,BLUE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+65,BLUE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+55,BLUE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+45,BLUE21,0);
- wait(1);
- yield;}}
- task fireb2{
- loop{
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+41,ORANGE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer-41,ORANGE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+37,ORANGE21,10);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer-37,ORANGE21,10);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+33,ORANGE21,20);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer-33,ORANGE21,20);
- wait(1);
- yield;}}
- task fireb3{
- loop{
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+30,PURPLE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer-30,PURPLE21,0);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+27,PURPLE21,10);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer-27,PURPLE21,10);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer+24,PURPLE21,20);
- CreateShot01(GetX,GetY,7,GetAngleToPlayer-24,PURPLE21,20);
- wait(1);
- yield;}}
- task firec{
- let angle = 0;
- let angle2 = 0;
- wait(4000);
- loop{
- ascent(i in 0..4){
- CreateShot01(GetCenterX, GetCenterY, 3, angle+i*90, GREEN04,0);
- CreateShot01(GetCenterX, GetCenterY, 3, angle2+i*90, GREEN04,0);
- }
- angle+=10;
- angle2-=10;
- wait(16);
- yield;}}
- task fired{
- let dir = 0;
- wait(120);
- loop{
- loop(8){
- CreateShotA(1,GetPlayerX+100*cos(dir),GetPlayerY+100*sin(dir),20);
- SetShotDataA(1,0,0,dir,0,0,0,GREEN01);
- SetShotDataA(1,60,2,90,0,0,2,AQUA01);
- FireShot(1);
- dir+=45;
- }
- dir = 0;
- wait(40);
- yield;}}
- task firee{
- wait(120);
- loop{
- loop(10){CreateShot01(rand(GetClipMaxX,GetClipMinX),GetCenterY,3,270,GREEN01,30);}
- wait(1);
- yield;}
- }
- task firef{
- let ang = 0;
- let ang2 = 0;
- wait(4060);
- loop{
- loop(16){
- CreateShotA(1,GetPlayerX+100*cos(ang),GetPlayerY+100*sin(ang),20);
- SetShotDataA(1,0,3,ang,0,0,0,GREEN05);
- FireShot(1);
- CreateShotA(2,GetPlayerX+100*cos(ang2),GetPlayerY+100*sin(ang2),20);
- SetShotDataA(2,0,3,ang2,0,0,0,GREEN05);
- FireShot(2);
- ang += 22.5;
- ang2 += 22.5;
- }
- ang += 1;
- ang2 -= 1;
- wait(2); yield;
- }}
- function wait(w){loop(w){yield;}}
- }
Advertisement
Add Comment
Please, Sign In to add comment