Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #BGM ["./bgm/EoSD Remilias Theme- Septette for the Dead Princess (Re-Extended).mp3"]
- #include "script/default_system/Default_ShotConst.txt"
- #include "./Cutin.txt"
- #include "./ExplosionEffect.txt"
- let objBoss;
- let objScene = GetEnemyBossSceneObjectID();
- let objBullet;
- let objPlasma;
- let shot_sound = GetCurrentScriptDirectory ~ "se_charm.wav";
- let spell_sound = GetCurrentScriptDirectory ~ "se_UseSpell.wav";
- //Default dimension of Danmakufu's playing field is 384 * 448 pixels.
- @Event
- {
- alternative(GetEventType())
- case(EV_REQUEST_LIFE){
- SetScriptResult(10000);
- }
- case(EV_REQUEST_TIMER){
- SetScriptResult(120);
- }
- case(EV_REQUEST_SPELL_SCORE){
- SetScriptResult(6000000);
- }
- }
- @Initialize
- {
- objBoss = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(objBoss);
- let imgRemilia = GetCurrentScriptDirectory ~ "Remilia.png";
- ObjPrim_SetTexture(objBoss, imgRemilia);
- ObjSprite2D_SetSourceRect(objBoss, 75, 0, 138, 80);
- ObjSprite2D_SetDestCenter(objBoss);
- ObjMove_SetDestAtFrame(objBoss, 90, 60, 60);
- StartSpell;
- LoadSound(shot_sound);
- LoadSound(spell_sound);
- ObjEnemyBossScene_StartSpell(objScene);
- TDrawLoop;
- TFinalize;
- MainTask;
- }
- task TDrawLoop
- {
- let imgRemilia = GetCurrentScriptDirectory ~ "Remilia.png";
- ObjPrim_SetTexture(objBoss, imgRemilia);
- ObjSprite2D_SetSourceRect(objBoss, 75, 0, 138, 80);
- ObjSprite2D_SetDestCenter(objBoss);
- }
- task MainTask
- {
- Movement;
- PlaySE(spell_sound);
- wait(120);
- while(ObjEnemy_GetInfo(objBoss,INFO_LIFE)>0)
- {
- let angleT = 0;
- let angleX = 0;
- let objcount = 0;
- let objregard = 0;
- loop
- {
- loop(6)
- {
- objPlasma = CreateShotA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 3, angleT, DS_BALL_L_PURPLE, 30);
- objBullet = CreateShotA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 3, angleX, DS_BALL_L_RED, 30);
- PlaySE(shot_sound);
- angleT+=360/6;
- angleX+=360/6;
- BulletChange;
- }
- angleT+=objcount;
- angleX+=objregard;
- objcount+=1;
- objregard-=1;
- wait(25);
- }
- }
- }
- task Movement
- {
- while(ObjEnemy_GetInfo(objBoss,INFO_LIFE)>0)
- {
- ObjMove_SetDestAtFrame(objBoss, rand(GetCenterX+90,GetCenterX-90), rand(GetCenterY-60,GetCenterY-120), 60);
- wait(180);
- }
- }
- task BulletChange
- {
- ObjMove_SetAngularVelocity(objBullet, 0.3);
- ObjMove_SetAngularVelocity(objPlasma, -0.3);
- wait(10);
- }
- task StartSpell
- {
- loop(2){yield;}
- let sekibanki = GetCurrentScriptDirectory ~ "Remilia Cutin.png";
- ObjCutin_SetSpellcardS4("\"Remilia's Netherworld\"", sekibanki, MOKOU, 240, 104, 104);
- ObjCutin_LaunchS3(BYAKUREN, sekibanki, "Normal");
- }
- task TFinalize
- {
- while(ObjEnemy_GetInfo(objBoss,INFO_LIFE)>0){yield;}
- Explosion(objBoss);
- }
- @MainLoop
- {
- ObjEnemy_SetIntersectionCircleToShot(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 32);
- ObjEnemy_SetIntersectionCircleToPlayer(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 24);
- ObjEnemy_SetDamageRate(objBoss, 100, 0);
- yield;
- }
- 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