Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Single]
- #Title[Non-Spell]
- #Text[An attempt at making a non-spell]
- #Player[REIMU]
- #ScriptVersion[2]
- #PlayLevel[Normal]
- script_enemy_main{
- let D = GetCurrentScriptDirectory;
- let imgBoss = D ~ "system\chen.png";
- let s1 = D ~ "sfx\Shot.wav";
- let s2 = D ~ "sfx\Shot 2.wav";
- let bg = D ~ "system\bg 3.png";
- let slide = 0;
- let slide2 = 0;
- @Initialize{
- SetLife(2500);
- SetTimer(25);
- LoadGraphic(imgBoss);
- LoadGraphic(bg);
- SetEnemyMarker(true);
- LoadSE(s1);
- LoadSE(s2);
- move;
- fire;
- fireb;
- firec;
- fired;
- firee;
- firef;
- }
- @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);
- DeleteGraphic(imgBoss);
- }
- task move{
- loop{
- SetMovePosition01(GetCenterX-rand(50,-50),GetCenterY-rand(80,100),5);
- wait(50);}
- }
- task fire{
- wait(90);
- loop{
- loop(3){
- let angle = GetAngleToPlayer-55;
- CreateShot01(GetX, GetY, 3, angle, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle+30, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle-30, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle+15, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle-15,BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle+22.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle-22.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle+7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle-7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 4, angle-15, BLUE01, 0);
- CreateShot01(GetX, GetY, 4, angle+15, BLUE01, 0);
- CreateShot01(GetX, GetY, 4, angle, BLUE01, 0);
- CreateShot01(GetX, GetY, 4.5, angle+7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 4.5, angle-7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 5, angle, BLUE01, 0);
- PlaySE(s1);
- wait(60);}
- wait(180);}
- }
- task fireb{
- wait(90);
- loop{
- loop(3){
- let angle = GetAngleToPlayer+55;
- CreateShot01(GetX, GetY, 3, angle, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle+30, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle-30, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle+15, BLUE01, 0);
- CreateShot01(GetX, GetY, 3, angle-15,BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle+22.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle-22.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle+7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 3.5, angle-7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 4, angle-15, BLUE01, 0);
- CreateShot01(GetX, GetY, 4, angle+15, BLUE01, 0);
- CreateShot01(GetX, GetY, 4, angle, BLUE01, 0);
- CreateShot01(GetX, GetY, 4.5, angle+7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 4.5, angle-7.5, BLUE01, 0);
- CreateShot01(GetX, GetY, 5, angle, BLUE01, 0);
- wait(60);}
- wait(180);}
- }
- task firec{
- wait(60);
- loop{
- loop(3){
- let angle = GetAngleToPlayer;
- CreateShot01(GetX, GetY, 2.7, angle, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle+30, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle-30, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle+15, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle-15, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle+22.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle-22.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle+7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle-7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle-15, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle+15, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle, RED01, 0);
- CreateShot01(GetX, GetY, 3.9, angle+7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.9, angle-7.5, RED01, 0);
- CreateShot01(GetX, GetY, 4.3, angle, RED01, 0);
- PlaySE(s1);
- wait(60);}
- wait(180);}
- }
- task fired{
- wait(60);
- loop{
- loop(3){
- let angle = GetAngleToPlayer-110;
- CreateShot01(GetX, GetY, 2.7, angle, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle+30, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle-30, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle+15, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle-15, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle+22.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle-22.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle+7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle-7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle-15, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle+15, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle, RED01, 0);
- CreateShot01(GetX, GetY, 3.9, angle+7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.9, angle-7.5, RED01, 0);
- CreateShot01(GetX, GetY, 4.3, angle, RED01, 0);
- wait(60);}
- wait(180);}
- }
- task firee{
- wait(60);
- loop{
- loop(3){
- let angle = GetAngleToPlayer+110;
- CreateShot01(GetX, GetY, 2.7, angle, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle+30, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle-30, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle+15, RED01, 0);
- CreateShot01(GetX, GetY, 2.7, angle-15, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle+22.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle-22.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle+7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.1, angle-7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle-15, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle+15, RED01, 0);
- CreateShot01(GetX, GetY, 3.5, angle, RED01, 0);
- CreateShot01(GetX, GetY, 3.9, angle+7.5, RED01, 0);
- CreateShot01(GetX, GetY, 3.9, angle-7.5, RED01, 0);
- CreateShot01(GetX, GetY, 4.3, angle, RED01, 0);
- wait(60);}
- wait(180);}
- }
- task firef{
- wait(90);
- loop{
- wait(140);
- let dir=0;
- loop(32){bullet(GetX, GetY, 2, dir-20, RED21, 30); dir+=11.25;}
- loop(32){bullet2(GetX, GetY, 2, dir-20, RED21, 30); dir+=11.25;}
- loop(32){bullet3(GetX, GetY, 2, dir+20, RED21, 30); dir+=11.25;}
- loop(32){bullet4(GetX, GetY, 2, dir-20, RED21, 30); dir+=11.25;}
- loop(32){bullet5(GetX, GetY, 2, dir+20, RED21, 30); dir+=11.25;}
- PlaySE(s2);
- wait(40);
- }
- }
- task bullet(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(50);
- Obj_SetSpeed(obj,2);
- wait(7);
- Obj_SetSpeed(obj,1);
- wait(7);
- Obj_SetSpeed(obj,0.3);
- wait(7);
- loop(44){Obj_SetAngle(obj,dir-4); dir-=4; wait(1);}
- wait(20);
- Obj_SetSpeed(obj,1);
- wait(10);
- Obj_SetSpeed(obj,2);
- wait(28000);
- yield;}
- }
- task bullet2(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(65);
- Obj_SetSpeed(obj,2);
- wait(7);
- Obj_SetSpeed(obj,1);
- wait(7);
- Obj_SetSpeed(obj,0.3);
- wait(7);
- loop(44){Obj_SetAngle(obj,dir-3); dir+=rand(3,4); wait(1);}
- wait(20);
- Obj_SetSpeed(obj,1);
- wait(10);
- Obj_SetSpeed(obj,2);
- wait(28000);
- yield;}
- }
- task bullet3(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(75);
- Obj_SetSpeed(obj,2);
- wait(7);
- Obj_SetSpeed(obj,1);
- wait(7);
- Obj_SetSpeed(obj,0.3);
- wait(7);
- loop(44){Obj_SetAngle(obj,dir+4); dir-=4; wait(1);}
- wait(20);
- Obj_SetSpeed(obj,1);
- wait(10);
- Obj_SetSpeed(obj,2);
- wait(28000);
- yield;}
- }
- task bullet4(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(88);
- Obj_SetSpeed(obj,2);
- wait(7);
- Obj_SetSpeed(obj,1);
- wait(7);
- Obj_SetSpeed(obj,0.3);
- wait(7);
- loop(44){Obj_SetAngle(obj,dir+4); dir+=4; wait(1);}
- wait(20);
- Obj_SetSpeed(obj,1);
- wait(10);
- Obj_SetSpeed(obj,2.3);
- wait(28000);
- yield;}
- }
- task bullet5(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(98);
- Obj_SetSpeed(obj,2);
- wait(7);
- Obj_SetSpeed(obj,1);
- wait(7);
- Obj_SetSpeed(obj,0.3);
- wait(7);
- loop(44){Obj_SetAngle(obj,dir+4); dir+=3; wait(1);}
- wait(20);
- Obj_SetSpeed(obj,1);
- wait(10);
- Obj_SetSpeed(obj,2.3);
- wait(28000);
- yield;}
- }
- function wait(w){loop(w){yield;}}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement