Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Single]
- #ScriptVersion[3]
- #Title["Test words"]
- #Text["???"]
- #include "script/default_system/Shot/ZUNShot_Const.txt"
- let objBoss;
- let objScene=GetEnemyBossSceneObjectID();
- let size = 0;
- let type = 0;
- let GetEnemyX = 0;
- let GetEnemyY = 0;
- InstallFont(GetCurrentScriptDirectory() ~ "font/Revue.ttf");
- @Event{
- alternative(GetEventType())
- case(EV_REQUEST_LIFE){
- SetScriptResult(2500);
- }
- case(EV_REQUEST_TIMER){
- SetScriptResult(60);
- }
- case(EV_REQUEST_SPELL_SCORE){
- SetScriptResult(1000000);
- }
- }
- @Initialize{
- objBoss = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(objBoss);
- ObjMove_SetDestAtFrame(objBoss, GetCenterX, 60, 60);
- ObjEnemyBossScene_StartSpell(objScene);
- TDrawLoop;
- TFinalize;
- MainTask;
- RenderBG;
- }
- @MainLoop{
- ObjEnemy_SetIntersectionCircleToShot(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 32);
- ObjEnemy_SetIntersectionCircleToPlayer(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 24);
- yield;
- }
- task MainTask{
- wait(120);
- movement;
- magiccircle(objBoss,size,type);
- fireA;
- fireB;
- txt;
- }
- task magiccircle(objBoss,size,type){
- let obj=ObjPrim_Create(OBJ_SPRITE_2D);
- let img=GetCurrentScriptDirectory()~"img/eff.png";
- let spin = 0;
- let s = 0;
- LoadTexture(img);
- ObjPrim_SetTexture(objBoss,img);
- ObjSprite2D_SetSourceRect(obj,128,80,256,208);
- ObjSprite2D_SetDestCenter(obj);
- ObjRender_SetScaleXYZ(obj,size,size,size);
- ObjRender_SetAlpha(obj,192);
- Obj_SetRenderPriority(obj,0.3);
- while(!Obj_IsDeleted(obj)){
- spin += 3;
- ObjRender_SetAngleXYZ(obj,0,0,-spin*2);
- ObjRender_SetPosition(obj,ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),2);
- if(type==true){
- ObjRender_SetScaleXYZ(obj,size+0.2*sin(spin),size+0.2*sin(spin),2);
- }
- ObjMove_SetPosition(obj,ObjMove_GetX(objBoss), ObjMove_GetY(objBoss));
- yield;
- }
- Obj_Delete(obj);
- }
- task txt{
- let objText = ObjText_Create();
- ObjText_SetText(objText, "Sin Sign - Hall of Death");
- ObjText_SetFontSize(objText, 10);
- ObjText_SetFontType(objText, "Russell Square Regular");
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 255, 255, 255);
- ObjText_SetFontColorBottom(objText, 255, 255, 255);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText, 104, 64, 192);
- ObjText_SetFontBorderWidth(objText, 1);
- ObjText_SetHorizontalAlignment(objText, ALIGNMENT_LEFT);
- ObjText_SetMaxWidth(objText, 300);
- ObjRender_SetX(objText, -100 - -300);
- }
- task RenderBG{
- let path1 = GetCurrentScriptDirectory() ~ "Muenzuka.png";
- let obj1 = ObjPrim_Create(OBJ_SPRITE_2D);
- ObjRender_SetBlendType(obj1, BLEND_ALPHA);
- Obj_SetRenderPriority(obj1, 0.21);
- ObjPrim_SetTexture(obj1, path1);
- ObjSprite2D_SetSourceRect(obj1, 0, 0, 512, 512);
- ObjSprite2D_SetDestRect(obj1, -256, -256, 256, 256);
- ObjRender_SetPosition(obj1, 384/2, 448/2, 1);
- let frame = 0;
- let alpha = 0;
- yield;
- }
- task movement{
- while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){
- ObjMove_SetDestAtFrame(objBoss, rand(GetCenterX + 90, GetCenterX - 90), rand(GetCenterY - 60, GetCenterY - 120), 60);
- wait(240);
- }
- }
- task fireA{
- while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){
- let angleT = rand(0, 360);
- loop(80){
- loop(3){
- let obj = CreateShotA2(ObjMove_GetX(objBoss) + 120*cos(angleT * 3), ObjMove_GetY(objBoss) + 90*sin(angleT * 5), 10, angleT * 3, 0.001, 2, 318, 10);
- angleT += 360/50;
- }
- angleT += 8;
- yield;
- }
- }
- }
- task fireB{
- while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){
- let angleT = GetAngleToPlayer(objBoss);
- loop(13){
- ascent(i in 0..1){
- CreateShotA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 2.5 - i/3, angleT, 329, 5);
- }
- angleT += 360/8;
- }
- wait(100);
- }
- }
- task TDrawLoop {
- let imgBoss = GetCurrentScriptDirectory() ~ "shikieiki.png.png";
- ObjPrim_SetTexture(objBoss, imgBoss);
- ObjSprite2D_SetSourceRect(objBoss, 0, 0, 148, 125);
- ObjSprite2D_SetDestCenter(objBoss);
- }
- task TFinalize {
- while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){yield;}
- if(ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SHOOTDOWN_COUNT)
- +ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SPELL_COUNT) == 0){
- AddScore(ObjEnemyBossScene_GetInfo(objScene, INFO_SPELL_SCORE));
- }
- Obj_Delete(objBoss);
- DeleteShotAll(TYPE_ALL,TYPE_IMMEDIATE);
- SetAutoDeleteObject(true);
- CloseScript(GetOwnScriptID());
- return;
- }
- function GetCenterX(){
- return GetStgFrameWidth() / 2;
- }
- function GetCenterY(){
- return GetStgFrameHeight() / 2;
- }
- function wait(n){
- loop(n){yield;}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement