Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Single]
- #ScriptVersion[3]
- #Title["Non 1"]
- //#include "./LenenBossRender/RenderLenen.txt"
- //#include "./lib_sound.txt"
- //#include "./LenenShot/JINXShot_Const.txt"
- //#System["script/Marisa Kirisame/default_system/Default_System.txt"]
- //#include "./Textout_function.txt"
- //#include "./Effects.txt"
- #include "./lib_anime_Sakuya.txt"
- #include "./Stellar_FX/Stellar FX/Stellar.dnh"
- let bossObj;
- let bossX = 0;
- let bossY = 0;
- let animFrame = 0;
- let animFrame2 = 0;
- let bossSprite = ObjPrim_Create(OBJ_SPRITE_2D);
- let castframe = 0;
- let imgBoss = GetCurrentScriptDirectory ~ "./sakuya_dot.png";
- @Initialize {
- bossObj = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(bossObj);
- ObjPrim_SetTexture(bossObj,imgBoss);
- ObjSprite2D_SetSourceRect(bossObj,0,0,128,128);
- ObjSprite2D_SetDestCenter(bossObj);
- Stellar_Init();
- Stellar_AuraTexture(imgBoss);
- TFinalize;
- ObjMove_SetDestAtSpeed(bossObj,192,120,5);
- BossMove;
- //Textout("Marisa Kirisame",-90,16,255,255,255,255,250,250,165,165,165,20);
- SetStgFrame(25,20,GetScreenWidth-220,GetScreenHeight-10,20,80);
- SetPlayerClip(20,0.1,GetScreenWidth-220,GetScreenHeight-10);
- }
- @Event {
- alternative(GetEventType())
- case(EV_REQUEST_LIFE) {
- SetScriptResult(2500);
- }
- case(EV_REQUEST_TIMER) {
- SetScriptResult(60);
- }
- case(EV_REQUEST_SPELL_SCORE)
- {
- SetScriptResult(1000000);
- }
- }
- let RectX = GetTextureWidth(imgBoss)/4;
- let RectY = GetTextureHeight(imgBoss)/3;
- let cosine1=0;
- let cosine2=0;
- @MainLoop {
- let speed;
- let dir;
- speed = ObjMove_GetSpeed(bossObj);
- dir = ObjMove_GetAngle(bossObj);
- yield;
- cosine1 = cos(dir);
- cosine2 = cosine1;
- ObjEnemy_SetIntersectionCircleToShot(bossObj,ObjMove_GetX(bossObj),ObjMove_GetY(bossObj),14);
- ObjEnemy_SetIntersectionCircleToPlayer(bossObj,ObjMove_GetX(bossObj),ObjMove_GetY(bossObj),19);
- if(speed == 0){
- if(animFrame < 10) { ObjSprite2D_SetSourceRect(bossObj,0,0,128,128); }
- if(animFrame >= 10 && animFrame < 20) { ObjSprite2D_SetSourceRect(bossObj,128,0,128*2,128); }
- if(animFrame >= 20 && animFrame < 30) { ObjSprite2D_SetSourceRect(bossObj,0,128,128,128*2); }
- if(animFrame >= 30 && animFrame < 40) { ObjSprite2D_SetSourceRect(bossObj,128*1,128,128*2,128*2); }
- if(animFrame >= 40) { ObjSprite2D_SetSourceRect(bossObj,0,128*2,128,128*3); }
- animFrame2 = 0;
- }
- else if(cosine1 < 0){
- if(animFrame2 < 10) { ObjSprite2D_SetSourceRect(bossObj,128*2,0,128*3,128); }
- if(animFrame2 >= 10 && animFrame2 < 20) { ObjSprite2D_SetSourceRect(bossObj,252,128*1,381,128*2); }
- }
- else if(cosine1 > 0){
- if(cosine1 >= 0) { animFrame2 = 0; }
- if(animFrame2 < 10) { ObjSprite2D_SetSourceRect(bossObj,261,253,390,382); }
- if(animFrame2 >= 10 && animFrame2 < 20) { ObjSprite2D_SetSourceRect(bossObj,261,382,390,511); }
- //animFrame2++;
- }
- yield;
- if(Obj_GetValueD(bossObj,"cast",0) == 1 && speed == 0 && animFrame2 == 0){
- animFrame=0;
- animFrame2=0;
- loop(6) { if(castframe >= 30 && castframe < 60){ObjSprite2D_SetSourceRect(bossObj,512,120*0,640,128*1);} }
- loop(6) { if(castframe >= 60 && castframe < 90){ObjSprite2D_SetSourceRect(bossObj,512,120*1,640,128*2);} }
- loop(6) { if(castframe >= 90){ObjSprite2D_SetSourceRect(bossObj,512,120*2,640,129*3);} }
- if(castframe < 90){castframe++;}
- }
- animFrame++;
- animFrame2+=2;
- if(animFrame > 40) { animFrame = 0; }
- if(cosine1 != cosine2)
- {
- animFrame2 = 0;
- }
- yield;
- }
- @Finalize {
- }
- function wait(f)
- {
- loop(f)
- {
- yield;
- }
- return;
- }
- task BossMove{
- wait(60*4);
- ObjMove_SetDestAtFrame(bossObj,100,120,60*3);
- Obj_SetValue(bossObj,"cast",1);
- wait(60*8);
- Obj_SetValue(bossObj,"cast",0);
- ObjMove_SetDestAtFrame(bossObj,192,120,60*3);
- wait(60*12);
- Obj_SetValue(bossObj,"cast",1);
- wait(60*16);
- Obj_SetValue(bossObj,"cast",0);
- }
- task TFinalize {
- while(ObjEnemy_GetInfo(bossObj, INFO_LIFE) > 0){yield;}
- Obj_Delete(bossObj);
- DeleteShotAll(TYPE_ALL, TYPE_IMMEDIATE);
- SetAutoDeleteObject(true);
- CloseScript(GetOwnScriptID());
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement