NarumiSTG_HyperSnowDrifter/script/ExRumia/ExRumiaSpell01.txt

184 lines
8.4 KiB
Plaintext
Raw Permalink Normal View History

2023-01-26 11:34:56 +00:00
<EFBFBD><EFBFBD>#qg<71>e>_U^<5E><>[Single]
#ScriptVersion[3]
#Title["f&{ 0<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 0"]
#Text["Ex<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0gRn0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<1A>[r]f&{ 0<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 0"]
#Image["./ExRumia(f&{ 0<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 0).jpg"]
#Background["script/default_system/Default_Background_IceMountain.txt"]
#BGM[DEFAULT]
#Player[DEFAULT]
#include"script/default_system/Default_ShotConst.txt"
#include"script/default_system/Default_Effect.txt"
let objEnemy;
let bConcentrationMotion = false;
@Initialize
{
objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
ObjEnemy_Regist(objEnemy);
ObjEnemy_SetDamageRate(objEnemy, 10, 10);//<00>b<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>010%k0-<2D><>[
TWork;
TRender;
TEnd;
DeleteShotAll(TYPE_ALL, TYPE_ITEM);//<00>Q<EFBFBD>sh0 TBfk0ue>_<>0hQf0JRd<52>
}
@MainLoop
{
let ex = ObjMove_GetX(objEnemy);
let ey = ObjMove_GetY(objEnemy);
ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);//S__0<5F>0$R<>[(<00><>>_){v2<76>
ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);//S__0<5F>0$R<>[(SOS__0<5F>0){v2<76>
yield;
}
@Event
{
alternative(GetEventType())
case(EV_REQUEST_LIFE)
{
SetScriptResult(300);//<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>01500k0-<2D><>[
}
case(EV_REQUEST_TIMER)
{
SetScriptResult(60);//Bf<42><66>6RP<52><50>060<00>yk0-<2D><>[
}
case(EV_REQUEST_SPELL_SCORE)
{
SetScriptResult(30000);//<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>030000k0-<2D><>[
}
}
//----------------------------------------------------
//ue<75>R\O
//----------------------------------------------------
task TWork
{
// Concentration01(150);
// CutIn(YOUMU,"f&{ 0<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 0",0,0,0,0,0);//<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 Th<54>:y
//<00>^j(cx, 60)x060<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0K0Q0f0<66>y<EFBFBD>RY0<59>0
let cx = GetStgFrameWidth() / 2;//STG<00>0<EFBFBD>0<EFBFBD>0n0-N<>_x<00>^j<>0<EFBFBD>S<EFBFBD>_
ObjMove_SetDestAtFrame(objEnemy, cx, 60, 60);
loop(60){yield;}
let objScene = GetEnemyBossSceneObjectID();
ObjEnemyBossScene_StartSpell(objScene);
while(!Obj_IsDeleted(objEnemy))
{
loop(90){yield;}
TShotBlue(0, 135);
TShotBlue(180, 45);
loop(160){yield;}
TShotRed(0, 90);
TShotRed(180, 90);
loop(50){yield;}
bConcentrationMotion = true;
loop(100){yield;}
bConcentrationMotion = false;
}
}
//----------------------------------------------------
//<00>c;u<>0<EFBFBD>0<EFBFBD>0
//----------------------------------------------------
task TRender
{
let imgExRumia = GetCurrentScriptDirectory~"ExRumia.png";
ObjPrim_SetTexture(objEnemy, imgExRumia);
while(!Obj_IsDeleted(objEnemy))
{
let angle = ObjMove_GetAngle(objEnemy);
let speed = ObjMove_GetSpeed(objEnemy);
if(speed == 0)
{
if(bConcentrationMotion)
{
ObjSprite2D_SetSourceRect(objEnemy, 64, 1, 127, 64);
}
else
{
ObjSprite2D_SetSourceRect(objEnemy, 1, 1, 64, 64);
}
}
else if(cos(angle) > 0){ObjSprite2D_SetSourceRect(objEnemy, 192, 1, 255, 64);}
else if(cos(angle) < 0){ObjSprite2D_SetSourceRect(objEnemy, 128 ,1, 191, 64);}
ObjSprite2D_SetDestCenter(objEnemy);
yield;
}
}
//----------------------------------------------------
//>_<><5F>#<23>
//----------------------------------------------------
task TShotBlue(angle1, angle2)
{
let ex = ObjMove_GetX(objEnemy);
let ey = ObjMove_GetY(objEnemy);
let obj = CreateShotA2(ex, ey, 5, angle1, -0.08, 0, DS_BALL_L_BLUE, 0);//>_<>0zv\
ObjMove_AddPatternA1(obj, 60, 5, angle2);
loop(60){yield;}
ascent(i in 0 .. 300)
{
if(Obj_IsDeleted(obj)){break;}
let shotSpeed = rand(0.5,1.5);
let sx = ObjMove_GetX(obj);
let sy = ObjMove_GetY(obj);
CreateShotA1(sx, sy, rand(0.5,1.5), rand(0,360), DS_BALL_S_BLUE, 60);
yield;
}
}
task TShotRed(angle1, angle2)
{
let ex = ObjMove_GetX(objEnemy);
let ey = ObjMove_GetY(objEnemy);
let obj = CreateShotA2(ex, ey, 5, angle1, -0.08, 0, DS_BALL_L_RED, 0);//>_<>0zv\
ObjMove_AddPatternA1(obj, 60, 5, angle2);
loop(60){yield;}
ascent(i in 0 .. 300)
{
if(Obj_IsDeleted(obj)){break;}
let shotSpeed=rand(0.5,1.5);
let sx = ObjMove_GetX(obj);
let sy = ObjMove_GetY(obj);
CreateShotA1(sx, sy, rand(0.5,1.5), rand(0,360), DS_BALL_S_RED, 60);
yield;
}
}
//----------------------------------------------------
//B}<7D>N<EFBFBD>__j<5F>0<EFBFBD>0<EFBFBD>0
//----------------------------------------------------
task TEnd
{
while(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0)
{
yield;
}
let ex = ObjMove_GetX(objEnemy);
let ey = ObjMove_GetY(objEnemy);
TExplosionA(ex, ey, 10, 0.6);
DeleteShotAll(TYPE_ALL, TYPE_ITEM);//ue>_<>0hQf0JRd<52>
Obj_Delete(objEnemy);
loop(30){yield;}
CloseScript(GetOwnScriptID());
}