Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu
- #Title[Yuyuko Encounter Spell-4]
- #Text[4th Spell Card of Yuyuko]
- #Player[FREE]
- #ScriptVersion[2]
- script_enemy_main{
- #include_function ".\function_cutin.txt"
- #include_function ".\System\variables.txt"
- #include_function ".\System\functions.txt"
- #include_function ".\Animations\YuyukoAnimationLibrary.txt";
- @Initialize{
- LoadGraphic(yuyutex);
- LoadGraphic(yuyukobg1);
- LoadGraphic(yuyucut);
- LoadGraphic(saigyouLay);
- LoadUserShotData(shots);
- SetScore(10000000);
- SetLife(4500);
- SetTimer(74);
- SetDamageRate(80,65);
- SetMovePosition01(GetCenterX,GetCenterY-150,3);
- SetInvincibility(120);
- cutin("NAZRIN","Flight Immersion "\""Macro Burst"\",yuyucut,0,0,400,400);
- mainTask;
- InitBoss;
- }
- @MainLoop{
- SetCollisionA(GetX,GetY,20);
- SetCollisionB(GetX,GetY,15);
- yield;
- }
- @DrawLoop{
- SetTexture(yuyutex);
- SetGraphicAngle(0,0,0);
- SetRenderState(ALPHA);
- SetAlpha(255);
- SetGraphicScale(1,1);
- YuyuAnimations;
- DrawGraphic(GetX,GetY+5*sin(float));
- }
- @BackGround{
- BgVScroll(yuyukobg1,2,225);
- BgLay(saigyouLay,220);
- }
- @Finalize{
- PlaySE(death);
- DeleteGraphic(yuyutex);
- Explosion01(GetX,GetY,220,1,60);
- DeleteEnemyShotToItem(ALL);
- if(GotSpellCardBonus==false){
- loop(15){
- CreateItem(ITEM_SCORE,GetX()+rand(-30,30),GetY()+rand(-30,30));
- }
- }
- if(GotSpellCardBonus==true){
- loop(20){
- CreateItem(ITEM_SCORE,GetX()+rand(-30,30),GetY()+rand(-30,30));
- }
- }
- }
- task mainTask{
- wait(90);
- action;
- yield;
- }
- task action{
- loop{
- loop(1){
- attack = 1;
- attackNow;
- attack = 0;
- movement;
- }
- wait(120);
- yield;
- }
- task attackNow{
- fire1;
- fireBurst1;
- fireBurst2;
- yield;
- }
- }
- task fireBurst1{
- let x = 0;
- let dir = 0;
- let c = 12;
- wait(120);
- loop{
- while(x<c){
- CreateShotA(1,GetX,GetY,5);
- SetShotDataA(1,0,6,dir+GetAngleToPlayer,0,-0.12,1,233);
- FireShot(1);
- CreateShotA(2,GetX,GetY,5);
- SetShotDataA(2,0,3,dir+GetAngleToPlayer+((360/c)/2),0,-0.06,1,214);
- FireShot(2);
- dir+=360/c;
- x++;
- }
- x=0;
- wait(120);
- }
- }
- task fireBurst2{
- let x = 0;
- let a = 30;
- let dir = 0;
- wait(360);
- loop{
- while(x<a){
- CreateShot01(GetCenterX,GetCenterY,0.8,dir+GetAngleToPlayer,152,10);
- dir+=360/a;
- x++;
- }
- x = 0;
- wait(120);
- }
- }
- task fire1{
- let b = 1;
- loop{
- let a = 180*b+rand(-10,10);
- loop([3,5,6,9][2]){
- ascent(i in 0..1){
- let v = 3+i/4;
- CreateShotA(0, GetX, GetY, 10);
- SetShotDataA(0, 0, 4, a, 0, -1/15, 0, 12);
- SetShotDirectionType(PLAYER);
- SetShotDataA(0, 60, 0, 0, 0, v/30, v, NULL);
- SetShotDirectionType(ABSOLUTE);
- FireShot(0);
- }
- wait(5);
- a+=27*b;
- }
- wait(120);
- yield;
- }
- b*=-1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment