Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu
- #Title[Spell]
- #Text[An attempt at making a spell]
- #Player[.\..\Futo\FUTOA.txt]
- #PlayLevel[Normal]
- #ScriptVersion[2]
- #PlayLevel[Normal]
- script_enemy_main{
- let D = GetCurrentScriptDirectory;
- let imgBoss = D ~ "system\chen.png";
- let cut = D ~ "system\cutin.png";
- let shot = D ~ "supershot.txt";
- let bg = D ~ "system\bg 3.png";
- let s1 = D ~ "sfx\Shot.wav";
- let s2 = D ~ "sfx\Power0.wav";
- let s3 = D ~ "sfx\Shot 2.wav";
- let slide = 0;
- let slide2 = 0;
- CutIn(YOUMU,"ugyk - 8ougy -",cut,0,0,127,451);
- @Initialize{
- SetLife(2500);
- SetTimer(30);
- SetScore(100000);
- LoadGraphic(bg);
- LoadGraphic(imgBoss);
- LoadUserShotData(shot);
- LoadSE(s1);
- LoadSE(s2);
- LoadSE(s3);
- fire;
- fireb;
- movement;
- }
- @MainLoop{
- SetCollisionA(GetX,GetY,32);
- SetCollisionB(GetX,GetY,16);
- yield;
- }
- @DrawLoop{
- SetTexture(imgBoss);
- SetRenderState(ALPHA);
- SetAlpha(255);
- SetGraphicRect(0,0,51,69);
- SetGraphicScale(1,1);
- SetGraphicAngle(0,0,0);
- DrawGraphic(GetX,GetY);
- }
- @BackGround{
- SetTexture(bg);
- SetRenderState(ALPHA);
- SetAlpha(255);
- SetGraphicRect(0,0,20000,20000);
- SetGraphicScale(1,1);
- SetGraphicAngle(0,0,0);
- DrawGraphic(GetCenterX-slide2,GetCenterY+slide);
- slide+=2;
- slide2-=1;
- }
- @Finalize{DeleteSE(s1); DeleteSE(s2); DeleteSE(s3);
- DeleteGraphic(imgBoss);
- loop(10){CreateItem(ITEM_SCORE,GetX+rand(-150,150),GetY+rand(50,200));}
- }
- task movement{
- SetMovePosition01(GetCenterX,GetCenterY-100,5);
- }
- task fire{
- loop{
- wait(60);
- loop(2){
- let thing = 1.5;
- let dir = GetAngleToPlayer+4;
- let dir2 = GetAngleToPlayer-4;
- let delay2 = 4;
- loop(5){
- loop(4){
- loop(6){
- b2(GetX,GetY,thing,dir,GREEN01,delay2);
- b2(GetX,GetY,thing,dir2,GREEN01,delay2);
- dir+=8; dir2-=8; delay2+=8;}
- delay2 = 4;
- dir += 42;
- dir2 += 138;}
- PlaySE(s1);
- dir = GetAngleToPlayer+4;
- dir2 = GetAngleToPlayer-4;
- thing+=0.5;}
- wait(150);
- }
- loop(16){
- let thing = 1.5;
- let dir = GetAngleToPlayer+4;
- let dir2 = GetAngleToPlayer-4;
- let delay2 = 4;
- loop(5){
- loop(4){
- loop(6){
- b2(GetX,GetY,thing,dir,GREEN01,delay2);
- b2(GetX,GetY,thing,dir2,GREEN01,delay2);
- dir+=8; dir2-=8; delay2+=8;}
- delay2 = 4;
- dir += 42;
- dir2 += 138;}
- PlaySE(s1);
- dir = GetAngleToPlayer+4;
- dir2 = GetAngleToPlayer-4;
- thing+=0.5;}
- wait(1);
- }
- wait(60);
- }
- }
- task fireb{
- loop{
- wait(60);
- loop(2){
- let thing = 1.5;
- let dir = GetAngleToPlayer;
- let dir2 = GetAngleToPlayer;
- let delay2 = 0;
- loop(5){
- loop(4){
- loop(6){
- b(GetX,GetY,thing,dir,BLUE01,delay2);
- b(GetX,GetY,thing,dir2,BLUE01,delay2);
- dir+=8; dir2-=8; delay2+=8;}
- delay2 = 0;
- dir += 42;
- dir2 += 138;}
- PlaySE(s1);
- dir = GetAngleToPlayer;
- dir2 = GetAngleToPlayer;
- thing+=0.5;}
- wait(150);
- }
- loop(16){
- let thing = 1.5;
- let dir = GetAngleToPlayer;
- let dir2 = GetAngleToPlayer;
- let delay2 = 0;
- loop(5){
- loop(4){
- loop(6){
- b(GetX,GetY,thing,dir,BLUE01,delay2);
- b(GetX,GetY,thing,dir2,BLUE01,delay2);
- dir+=8; dir2-=8; delay2+=8;}
- delay2 = 0;
- dir += 42;
- dir2 += 138;}
- PlaySE(s1);
- dir = GetAngleToPlayer;
- dir2 = GetAngleToPlayer;
- thing+=0.5;}
- wait(1);
- }
- wait(60);
- }
- }
- task b(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)){
- yield;
- }
- }
- task b2(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(60);
- Obj_SetSpeed(obj,0);
- wait(60);
- Obj_SetSpeed(obj,3);
- wait(1200);
- yield;
- }
- }
- function wait(w){loop(w){yield;}}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement